[iOS 2주차] 함수

황석범·2024년 10월 30일
0

함수

  • 함수는 재사용이 가능한 코드의 집합으로, 특정 작업을 수행하는 코드 블록입니다.

  • 함수는 function이라고 불리며, 코드를 구조적이고 효율적으로 작성하는데 도웁을 줍니다.

  • 동일한 작업을 반복해서 작성할 필요 없게 도와줍니다.

  • 함수는 선언과 사용으로 나눌 수 있습니다.

    • 함수의 선언 : 함수를 정의하는 과정입니다.
      • func 키워드를 사용하여 시작합니다.
      • 함수 선언의 4가지 요소
        1. 함수의 이름
        2. 파라미터(이름, 타입)
          • 파라미터는 함수에서 사용될 INPUT의 이름과 데이터타입
        3. 반환 타입
          • 함수에서 결과값으로 반환할 데이터 타입
        4. 구현부
          • 실제 작업을 수행하는 코드 블록
    • 함수의 사용 : 정의한 함수를 호출하여 실제로 실행하는 과정입니다.
      • 함수의 이름뒤에 () 를 사용하여 함수를 실행합니다.
      • () 안에는 파라미터를 넣을 수있습니다.
      • 함수를 사용하여 나온 결과값을 변수나 상수에 할당할 수 있습니다.
 
 	// 함수의 기본 사용방법
    func 함수이름(파라미터 이름: 파라미터 타입) -> 반환타입 {
    	//구현부
        return 반환 타입의 값
    }
    
    // 파라미터가 여러개인 경우
    func 함수이름(파라미터1 이름: 파라미터1 타입, 파라미터2 이름: 파라미터2 타입) -> 반환타입 {
    	//구현부
        return 반환 타입의 값
    }
    
    // 파라미터가 없는 경우
    func 함수이름() -> 반환 타입{
    	//구현부
        return 반환 타입의 값
    }
    
    // 반환값이 없는 경우
    func 함수이름(파라미터 이름: 파라미터 타입) {
    	// 구현부
        //반환타입이 없기때문에 return이 없어도 됩니다.
        //반환타입이 없는데 중간에 함수를 탈출하고 싶을 때 return을 사용할 . 수있습니다.
    }
    
    // 파라미터도 없고, 반환값도 없는 경우
    func 함수이름() {
    	//구현부
    }
    


// 실제로 사용해 봅시다!
func sayHello(name: String) -> String {
	return "\(name)님 안녕하세요!" 
}

// 함수의 사용
sayHello(name: "Swift 기초반") // 결과값은 문자열로 "Swift 기초반님 안녕하세요!" 입니다.


// 함수의 선언
func printHello(){
	print("안녕하세요!")
}
// 함수의 사용
printHello()

func add(a: Int, b: Int) -> Int {
	return a+b
}

let result = add(a: 3, b: 5) // add 함수를 사용하여 받은 결과값을 result 상수에 할당합니다.
print(result) // 8

함수 파라미터 이름의 분리

  • 함수의 구현부에서 사용하는 이름과 함수 호출할 . 때사용하는 이름을 다르게 설정할 수 있습니다.
  • 기본적으로 함수의 선언부에서 정한 파라미터의 이름은 함수의 구현부와 호출부에서 동일하게 사용됩니다.

func sayHello(name: String) {
	print("\(name)님 안녕하세요.")
}

sayHello(name: "수강생")

//sayHello 함수를 정의하는 곳에서 파라미터의 이름이 name이면
//sayHello 함수를 호출하는 곳에서도 파라미터의 이름은 name을 사용합니다.

Swift에서는 구현부에서 사용하는 파라미터의 이름과 호출부에서 사용하는 파라미터의 이름을 다르게 할 수 있습니다.

  • 첫번째 이름: 함수를 호출할 때 사용하는 이름
  • 두번째 이름: 함수 구현부에서 사용하는 이름

// 스페이스로 띄우고 파라미터 이름을 2개 입력하면 호출, 구현부에서 사용하는 이름을 정할 수 있습니다.
func sayHello(to name: String) {
	print("\(name)님 안녕하세요.")
}

// 함수를 정의한 곳에서 파라미터의 이름이 2개 있을 때 첫번째 값이 호출할 때 사용하는 이름입니다.
sayHello(to: "수강생")

// _ 를 사용하여 파라미터의 이름을 생략할 수 있습니다.
// _ 는 보통 생략하는데 사용됩니다.
// 위에와 동일하게 정의하는 곳에서 파라미터 이름이 2개로 들어가 있습니다. (_, name)
func sayBye(_ name: String) {
	print("\(name)sla 안녕히가세요.")
}

sayBye("수강생")

Swift에서는 파라미터의 이름을 다 정해주어야? 줄 수? 있는 것 같다.
첫번째는 호출할 때 사용하는 이름이 되고 두번째는 구현에서 사용되는 이름이 되는 것 같다. _ 를 사용해서 이름을 생략할 수 있다.

profile
iOS 공부중...

0개의 댓글

관련 채용 정보