seong_hye, the developer

Swift) 문법 정리 - 함수 본문

IOS

Swift) 문법 정리 - 함수

seong_hye 2022. 7. 12.

 

코딩에서 가장 중요한 것은 반복작업을 최소화하는 일이겠죠?

이 작업을 효율적으로하는 것이 바로 함수를 잘 이용하는 것이라고 할 수 있습니다.

 

함수가 무엇일까?

특정 작업을 수행하기 위해 호출할 수 있게 이름 붙여진 코드 블럭

정의하고 호출(또는 실행)하는 방법으로 실행됨

값(매개변수)를 받아 산술식을 수행하며 계산 결과가 반환되도록 할 수 있음

func 함수명(매개변수명: 매개변수 타입,...) -> 리턴타입 {
	//code
}

함수명(인자명: 인자값)
매개변수와 인자의 차이는 무엇일까?

 

 매개변수(파라미터):  함수의 정의에 입력값으로 사용되는 변수(상수)

 인자(아규먼트): 함수의 호출에 사용되는 실제 값


아규먼트 레이블 사용 시

파라미터를 외부에서 볼 때, 함수 호출 시 사용하려는 이름

func plusFunction(number1 a: Int, number2 b: Int) -> Int {
	return a + b
} 				// number1과 number2 => 아규먼트 레이블

var number = plusFunction(number1: 5, number2: 4)

 

와일드카드 패턴 사용 시

언더바(_)를 사용해서 아규먼트 레이블 생략 가능

func minusFunction(_ a:Int, _ b: Int) -> Int {
	return a - b
}

var number = minusFuction(5,4)

 

가변 파라미터 사용

정해지지 않은 여러 개의 파라미터를 받을 때

하나의 파라미터로 2개 이상의 아규먼트를 전달할 할 수 있음 => 배열 형태

개별함수마다 하나씩만 선언할 수 있음

기본 값을 가질 수는 없음

func plusFunction(_ numbers: Int...) -> Int {
	var total = 0
    
    for num in numbers {
    	total += num
    }
}

var num = plusFunction(5,8,2,6,1) //22

 

기본값 설정 가능

값을 주지 않을 경우 기본값 사용

func numFunction(num1: Int, num2: Int = 9) -> Int { 
	var result = num1 + num2
    return result
}

var number = numFunction(num1: 3) // 12 (3 + 9)

 


함수 사용 시 주의 사항

- 파라미터는 변수가 아닌 상수이고, 함수 내부적으로만 쓰이므로 값의 변경이 불가능

- 함수 내에서 선언한 변수는 함수 내에서 밖에 사용하지 못함

- return 키워드의 경우 리턴타입이 있으면 결과를 리턴하면서 함수를 중지하지만

리턴타입이 없으면 함수 실행을 중지하고 함수를 벗어남

- 리턴 타입이 있는 함수를 호출하는 경우, 함수를 호출 자체로 표현식이라는 것을 인지할 필요 있음

- 함수 내부에서 함수를 작성하여 사용하는 것도 가능 (중첩 가능)

 

함수를 사용하는 이유가 무엇일까?

- 반복되는 동작을 단순화해서 재사용 가능

- 코드를 논리적 단위로 구분 가능 (기능을 모듈화)

- 코드의 길이가 긴 것을 단순화해서 사용 가능

- 미리 함수를 잘 만들어 놓으면, 개발자는 사용만 하면 됨


참고자료)

https://zrr.kr/qNHN

 

앨런 Swift문법 마스터 스쿨 (온라인 BootCamp - 2개월과정) 강의 - 인프런

Swift문법을 제대로 이해, 활용해보고자 하는 철학을 바탕으로 과정이 설계되었습니다. 코딩에 대해 1도 모르는 비전공자를 시작으로 네카라쿠배에 입사할 수 있는 초고급 수준까지 올리는 것을

www.inflearn.com

 

Comments