패스트캠퍼스) ios 개발 챌린지

[패스트캠퍼스 수강 후기] IOS개발강의 100% 환급 챌린지 13회차 미션

student513 2020. 11. 14. 22:11

오늘은 저번 시간에 이어 switch의 확장, 그리고 function에 대해 배웠다.

강의를 들으면서 쭉 들었던 생각인데, 이 강의의 난이도가 완전 코딩을 안해본 초보 대상이라기엔 생략되는 개념이 많고,

그렇다고 계속 개발을 해온 개발자 대상이라기엔 기초적인 부분이 있었는데,

이번 수업을 들으면서 c언어 정도를 다룰 수 있는 사람이 듣기에 가장 적합한 난이도라는 결론을 내렸다.

 

뭐 일단 해당 언어의 문법 위주로(조건문이나 반복문 등) 가르쳐주는게 c언어나 java를 갓 배운 사람이 이해하기에 익숙한 난이도인 것 같다.

내가 개발을 막 배우기 시작했을 때 이 강의를 들었다면, 지금쯤 ios 개발자가 되어있었을까?

 

스위프트의 switch는 강력하다. 

아마 이 언어를 개발한 사람이 switch를 엄청 좋아했나보다.

switch의 조건 변수로 튜플이 들어갈 수 있다.

 

이런식으로 말이다

let coordinate = (x: 10, y: 10)

switch coordinate{
case (0, 0):
    print("---> 원점 이네요")
case (_, 0):
    print("---> x축 이네요")
case (0, _):
    print("---> y축 이네요")
default:
    print("---> 좌표 어딘가")
}

또한 where 조건을 넣을 수도 있고, 변수를 삽입할 수도 있다.

 

let coordinate = (x: 10, y: 10)

switch coordinate {
case (0, 0):
    print("---> 원점 이네요")
case (let x, 0):
    print("---> x축 이네요, x:\(x)")
case (0, let y):
    print("---> y축 이네요, y:\(y)")
case (let x, let y) where x == y:
    print("---> x랑 y랑 같음 x,y = \(x),\(y)")
case (let x, let y):
    print("---> 좌표 어딘가 x,y = \(x),\(y)")
}

그러면서 강사님이 하신 얘기가 있다

switch에 기능이 추가되면서 좀 더 넓게 생각하고 창의적으로 코드를 작성할 수 있게 되었다는 것이다

나도 동의한다

개발을 처음 배우면서 코딩 과제나 알고리즘 문제를 풀면 까만 화면에 어떤 코드를 적어야할지 알수조차 없다

개발언어도 결국 '언어'기 때문에 그 언어를 통해 생각을 할 수 있기 때문이다

 

세계의 문화권마다 언어가 다르며, 그 언어에 기반하여 사고방식이나 정사 등이 결정된다.

생각이 우선하고 언어가 만들어지는 것이 아니라 언어가 우선하고 생각이 만들어지는 것이다.

 

개발언어 또한 그 언어만이 갖고 있는 특징을 통해 개발 결과물이 결정되기도 하는 것이다.

 

그리고 flow control에 대한 강의가 끝나고 function and optional에 들어가게 된다

function에 대한 기능은 익숙하지만, 타입에 대한 기능이 추가되었다.

func printTotalPrice(price: Int, count: Int) {
    print("Total Price: \(price * count)")
}

printTotalPrice(price: 1500, count: 5)

func printTotalPrice(_ price: Int, _ count: Int) {
    print("Total Price: \(price * count)")
}

printTotalPrice(1500, 5)

func printTotalPrice(가격 price: Int, 갯수 count: Int) {
    print("Total Price: \(price * count)")
}

printTotalPrice(가격: 1500, 갯수: 5)

다음과 같이 external name을 지정해줄 수 있다.

_를 이용하면 생략도 가능한데 호출과정에서 실수가 발생할 수 있으므로 그닥 권장하지는 않는다

 

올인원 패키지 : iOS 앱 개발👉https://bit.ly/2FjWizq