IMCAT.DEV
로그인 가입
Swift 입문 문법

Swift 함수 정의 및 호출

Swift 함수 정의 및 호출 — 초급

함수 정의 및 호출

1. 도입 (왜 배워야 하는가)

프로그래밍에서 함수는 코드의 재사용성을 높여주는 중요한 구성 요소입니다. 함수는 특정 작업을 수행하는 코드 블록으로, 이를 통해 복잡한 작업을 간결하게 만들 수 있습니다. 실무에서는 반복적으로 사용되는 로직을 함수로 정의하여 코드의 가독성을 높이고, 유지보수를 용이하게 합니다. 만약 함수를 사용하지 않고 모든 코드를 한 곳에 작성한다면, 코드의 중복이 발생하고, 수정 시 여러 곳에서 변경해야 하므로 실수할 확률이 높아집니다.

2. 핵심 개념 설명

함수

함수는 특정 작업을 수행하는 코드의 집합으로, 입력값(매개변수)을 받아 결과값(반환값)을 돌려줄 수 있습니다. 마치 요리사가 레시피를 따라 요리를 만드는 것처럼, 함수는 특정 입력을 받아 정해진 방식으로 출력을 만들어냅니다.

매개변수와 반환값

  • 매개변수: 함수가 작업을 수행하기 위해 필요한 입력값입니다.
  • 반환값: 함수가 작업을 수행한 후 결과로 돌려주는 값입니다.
  • 용어 정리

    용어설명
    함수 정의함수를 만들고, 어떤 작업을 수행할지 명시하는 것
    함수 호출정의된 함수를 실제로 사용하는 것
    매개변수함수를 호출할 때 전달하는 입력값
    반환값함수가 작업을 마친 후 내보내는 결과

    3. 기본 코드 예제

    가장 기본적인 함수 정의 및 호출의 예제를 살펴보겠습니다.

    func greet(name: String) -> String {
        return "안녕하세요, \(name)님!"
    }
    
    let message = greet(name: "철수")
    print(message)

    실행 결과:

    안녕하세요, 철수님!

    코드 한 줄씩 동작 설명:

    1. func greet(name: String) -> String {:
    2. - greet라는 이름의 함수를 정의합니다. 이 함수는 String 타입의 name이라는 매개변수를 받아들이고, String 타입의 값을 반환합니다.

    3. return "안녕하세요, \(name)님!":
    4. - 함수가 호출되면, 매개변수 name을 사용하여 인사 메시지를 생성하고 반환합니다.

    5. let message = greet(name: "철수"):
    6. - greet 함수를 호출하며, name에 "철수"라는 값을 전달합니다. 반환된 메시지는 message 상수에 저장됩니다.

    7. print(message):
    8. - message의 내용을 출력합니다.

      4. 실전 활용 예제

      예제 1: 계산기 함수

      쇼핑몰에서 가격을 계산할 때 사용되는 간단한 함수입니다.

      func calculateTotalPrice(price: Double, quantity: Int) -> Double {
          return price * Double(quantity)
      }
      
      let totalPrice = calculateTotalPrice(price: 10000.0, quantity: 3)
      print("총 가격: \(totalPrice)원")

      상황 설명: 이 함수는 특정 가격과 수량을 받아서 총 가격을 계산합니다.

      예제 2: 평균 계산

      학생의 점수를 평균내는 함수입니다.

      func calculateAverage(scores: [Double]) -> Double {
          let total = scores.reduce(0, +)
          return total / Double(scores.count)
      }
      
      let averageScore = calculateAverage(scores: [90.0, 80.0, 70.0])
      print("평균 점수: \(averageScore)")

      상황 설명: 이 함수는 점수 배열을 받아 평균 점수를 계산하고 반환합니다.

      5. 흔한 실수와 주의사항

      실수 1: 매개변수 타입 오류

      잘못된 예:

      let wrongMessage = greet(name: 123) // 오류 발생

      올바른 예:

      let correctMessage = greet(name: "123") // 문자열로 전달

      실수 2: 반환값을 잊음

      잘못된 예:

      func noReturn() {
          // 반환값 없음
      }
      
      let result = noReturn() // 오류 발생

      올바른 예:

      func returnValue() -> String {
          return "값을 반환합니다."
      }
      
      let result = returnValue() // 정상 작동

      6. 정리

    9. 함수는 코드의 재사용성을 높여주며, 복잡한 작업을 간결하게 처리할 수 있게 해줍니다.
    10. 매개변수와 반환값의 개념을 이해하면 함수를 더 효과적으로 사용할 수 있습니다.
    11. 실무에서는 다양한 상황에서 함수를 활용하여 코드의 가독성을 높일 수 있습니다.

다음에 학습하면 좋은 주제는 함수 오버로딩과 클로저입니다. 이 두 개념을 통해 함수의 활용도를 더욱 높일 수 있습니다.