본문 바로가기
iOS/Swift

[iOS/Swift] Function, 함수 찍먹하기

by iosdevlime 2022. 11. 11.

앞서 포스팅에서 다룬 Optional(옵셔널)🌼 Swift의 꽃🌼 이라면,

아래 예제를 통해 매우 간략하게 찍먹할 함수프로그래밍의 꽃이라고 불린다 카더라는.. 

 

혹시, Optional이 기억이 나질 않는다면?

 

[iOS/Swift] Optional, Swift의 꽃

앞서 포스팅한 Swift 언어와 관련된 내용을 한 문장으로 정리하자면,, 유형(Type)을 결정하여 메모리에 자리를 잡고, 변수 혹은 상수선언을 통해 저장하고, 초기화 값이 있을 경우 할당한다! 그런데

iosdevlime.tistory.com

 

그만큼, 모든 프로그래밍 영역에서 주요하게 다뤄지는 함수(function)에 대하여

이번 포스팅에선 '아, 이런 것이 함수구나~' 정도로만 간단하게 짚고 넘어가고자 합니다.

 

 

 


 

 

 

프로그래밍에서의 함수(function)란 ?

특정 기능을 수행하는 코드를 묶어, 목적을 달성하기 위해 호출하는 일종의 코드블록이자 명령어

 

사실, Born to be 문과생으로서 함수는 중학생때 배운 1차함수, 2차함수 만 들어봤지..

프로그래밍에선 어떻게 다루는지 매우 궁금했기 때문에, 아래 그림을 통해 간단히 개념을 살펴보겠습니다.



함수를 설명할 때 단골로 활용되는 '자판기'
함수를 설명할 때 단골로 활용되는 '자판기'

 

 

위 자판기는 내용물(음료수)를 제공하는 특정 기능을 가지고 있습니다.

그렇다면, 사용자가 음료수를 구입하기 위해선?

  • 자판기에 동전을 투입합니다.
  • 원하는 음료수를 선택합니다.

위 2가지 과정을 거치게 되면, 결과적으로 음료수가 퉁!하고 떨어지게(호출) 됩니다.

 

 

단순하기 그지 없는 과정을 프로그래밍적 관점에서 살펴보면 다음과 같습니다.

 

동전(입력)을 넣으면

자판기(함수 기능)에서 음료를 고르고

음료가 떨어진다(출력)

 

 

즉, 편리한 기능을 가지고 있는 자판기라는 수단 자체가 함수이며,

개발자는 이러한 자판기를 코드, 명령어로서 작성하게 됩니다.

 

 

 


 

 

 

함수(function)가 왜 필요한가요?

특정 기능을 반복적으로 사용할 때, 편리한 작업을 위한 고유의 코드블록 생성

 

앞서 자판기의 유용성을 정리하자면,,

  • 사용자가 선택만 하면 출력이 되는 편리함 !
  • 일회용이 아닌, 반복적으로 사용가능 !

 

 

즉, 동일한 과정을 반복적으로 실행할 때

미리미리 함수블록으로 만들어 두고, 사용자가 값(Value)만 변경해 넣어준다면 ?

결과값을 바로바로 호출하고 찍어낼 수 있으므로..

 

복잡 다난한 프로그래밍 세계에서는 매우 유용하게 활용될 수 있겠습니다! 

 

 

코드의 결과를 호출할 때 사용한 print() 또한

Swift Standard Library에서 제공하는 기본(전역)함수로 지정한 것과 같은 이유로 볼 수 있습니다.

더보기

Swift Standard Libaray

스위프트 언어를 활용한 프로그래밍을 위해 미리 설계한 데이터 타입과 기능의 모음입니다.

  • Int, String과 같은 데이터 타입
  • Array, Dictionary 등 컬렉션 타입
  • print(), abs(_:) 와 같은 전역함수

https://developer.apple.com/documentation/swift/swift-standard-library

 

Apple Developer Documentation

 

developer.apple.com

 

뭔진 모르겠지만, func 키워드로 감싸져 있으니 함수인것 같긴하다.
뭔진 모르겠지만, func 키워드로 감싸져 있으니 함수인것 같긴하다.

 

 

 


 

다음, 그 다음 포스팅을 통해

함수(function)에 대해 본격적으로 살펴보도록 하겠습니다 !

댓글