본문 바로가기
swift 프로그래밍 기초

6장 함수 functions

by JeromeEugeneMorrow 2018. 12. 15.
728x90

6장은 functions 함수 이다.

여기서부터는 번역이 아니라 파트를 끝내고 내가 그것을 요약해보려고 한다.

프로그래밍에서는 함수를 쓴다. 이유는 같은 코드를 반복하여 입력하는 것을 크게 줄여주기 때문이다.

그리고 전체 코드의 구조를 쉽게 이해할 수 있게 해 준다.

마지막으로 코드를 수정해야 할 때 함수의 body를 고쳐서 수정하면 되기 때문이다.

SWIFT 에서 함수는 아래와 같은 구조로 입력한다.

-----

print("Hello, world!")

print(360)


이렇게 하면 명령어 와 코드의 구조이다.


간단하니까 이 정도지, 만약 노래하나를 출력한다고 했을때는 엄청난 코드양을 넣어야 한다.

이렇게 말이다.


print("Row, row, row your boat")

print("Gently down the stream")

print("Merrily, merrily, merrily, merrily")

print("Life is but a dream")

print("        ~        ")

print("Row, row, row your boat")

print("Gently down the stream")

print("If you see a crocodile")

print("Don't forget to scream")

print("        ~        ")

print("Row, row, row your boat")

print("Gently down the stream")

print("This song is quite repetitive")

print("Can you spot the theme")


그래서 여기서 반복되는 것을 함수로 지정하는 것이다.


func rowTheBoat() {

    print("Row, row, row your boat")

    print("Gently down the stream")

}


이렇게 1절을 함수로 정의해 버린다.

rowTheBoat 라는 함수를 만든 것이다.


스위프트에서 함수를 실행하려면

그냥 

rowTheBoat()  입력하면 된다.


저 노래에서 반복되는 merrily, merrily, merrily 부분도 함수로 구성하면 아래와 같이 된다.

그리고 중간에 ~ 을 표시한다면 이것 역시 아래와 같이 넣으면 된다.


func rowTheBoat() {

    print("Row, row, row your boat")

    print("Gently down the stream")

}


func merrilyDream() {

    print("Merrily, merrily, merrily, merrily")

    print("Life is but a dream")

}


func breatheBetweenVerses() {

    print("        ~        ")

}


자 이렇게 함수를 정의했으므로 전체 노래는 아래와 같이 코딩하면 된다.


rowTheBoat()

merrilyDream()

breatheBetweenVerses()

rowTheBoat()


여기에 2절을 아래와 같이 함수로 또 정의하면


func crocodileSream() {

    print("If you see a crocodile")

    print("Don't forget to scream")

}


이렇게 되고 2절을 함께 표시하려면 아래와 같이 코딩하면 된다.


rowTheBoat()

crocodileSream()

breatheBetweenVerses()

rowTheBoat()


함수안에는 또 함수를 넣을 수 있다.

이렇게 함수를 만들어 보면 3번째 함수 verseOne 에는 함수로 정의된 것을 볼 수 있다.

func rowTheBoat() {

    print("Row, row, row your boat")

    print("Gently down the stream")

}


func merrilyDream() {

    print("Merrily, merrily, merrily, merrily")

    print("Life is but a dream")

}


func verseOne() {

    rowTheBoat()

    merrilyDream()

}


verseOne()


그런데 이렇게 함수에 함수를 넣다보면 무한 루프가 생기니 주의해야 한다.

위 코드에서 func verseOne 안에 verseOne() 을 넣어다가는 무한루프에 걸려버린다.


무한루프는 코드를 짜면서 항상 주의해야 하는 부분이다.


자 이렇게 함수로 코드를 짜면 좋은점은 전체적인 코드가 단순해진다는 것이다.

결과적으로 아래와 같은 코드로 모든 노래가 완성된다.


verseOne()

breatheBetweenVerses()

verseTwo()

breatheBetweenVerses()

verseThree()


그리고 고치려면 함수의 body 항목을 찾아 고치면 그 뒤로 모든 코드에 반영된다.

여기까지가 6장 함수에 대한 내용이다

연습문제 7문제를 풀어보자.


요약하면 아래와 같다.



- Intro to development with swift  p. 50 을 마침.






728x90
반응형

'swift 프로그래밍 기초' 카테고리의 다른 글

7. 부기봇 boogiebot 춤추는 로봇  (0) 2019.01.03
5.3 Storyboard 파일의 편집  (0) 2018.08.14
5장 5.2 Explore Your project  (0) 2018.08.02
5장 First app - 5.1 ㄴNew project  (0) 2018.08.02
4장 - HelloWorld  (0) 2018.08.01

댓글