[Swift Apple ] Swift 함수 완전 정복

🎁 Swift 함수 완전 정복!

– 유형별 예제와 실습으로 배우는 함수 사용법

안녕하세요! 😊 Swift에서 함수를 잘 다루는 건 앱 개발의 기본 중의 기본이에요.

이번 블로그 글에서는 Swift 함수의 다양한 유형과 파라미터 사용법을

예제 코드 2개씩 + 실습 아이디어로 차근차근 알려드릴게요.





1. 함수의 기본 구조

Swift에서 함수는 이렇게 생겼어요:

func 함수이름() {
    // 실행할 코드
}


예제 1: 인사하기

func sayHello() {
    print("Hello, Swift!")
}



예제 2: 환영 메시지

func welcome() {
    print("Welcome to Swift coding!")
}



✅ 실습: 자신만의 메시지 출력 함수 만들기

자신의 이름을 포함한 간단한 함수 myMessage()를 만들어 출력해보세요.



2. 파라미터가 있는 함수

파라미터는 함수를 호출할 때 입력값을 전달하는 역할을 해요.



예제 1: 이름을 받아 인사하기

func greet(name: String) {
    print("Hello, \(name)!")
}


예제 2: 나이 계산기

func calculateAge(birthYear: Int) {
    let age = 2025 - birthYear
    print("당신의 나이는 \(age)세입니다.")
}


✅ 실습: 좋아하는 색을 받아 출력하는 함수 만들기

예: printFavoriteColor(color: "blue")



3. 반환값이 있는 함수

함수가 결과를 계산해서 돌려주는 경우에는 반환값이 있어요.


예제 1: 덧셈 결과 반환

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


예제 2: 문자열 만들기

func makeWelcomeMessage(name: String) -> String {
    return "환영합니다, \(name)님!"
}


✅ 실습: 두 수의 평균을 계산해서 반환하는 함수 만들기



4. 기본값을 가지는 파라미터

파라미터에 기본값을 설정하면, 값을 생략할 수 있어요.


예제 1: 기본 이름 인사

func greet(name: String = "Guest") {
    print("Hi, \(name)!")
}


예제 2: 기본 나라 설정

func showCountry(country: String = "Korea") {
    print("Country is \(country)")
}


✅ 실습: 좋아하는 동물 출력 함수 만들기 (기본값: 고양이)



5. 여러 개의 파라미터 (다중 파라미터)


예제 1: 이름과 나이 출력

func introduce(name: String, age: Int) {
    print("\(name)님은 \(age)살입니다.")
}


예제 2: 계산기

func calculate(x: Int, y: Int, operator op: String) {
    if op == "+" {
        print(x + y)
    } else if op == "*" {
        print(x * y)
    }
}


✅ 실습: 이름과 좋아하는 음식 출력하는 함수 만들기




6. 반환값이 여러 개인 함수 (Tuple 사용)


예제 1: 이름과 나이 반환

func getUser() -> (name: String, age: Int) {
    return ("Jiyoo", 12)
}


예제 2: 좌표 반환

func getLocation() -> (x: Int, y: Int) {
    return (100, 200)
}


✅ 실습: 도서 정보를 반환하는 함수 만들기 (제목, 저자)



7. 가변 파라미터 (Variadic Parameter)


예제 1: 여러 사람 인사

func greetAll(names: String...) {
    for name in names {
        print("Hi, \(name)!")
    }
}


예제 2: 평균 계산

func average(numbers: Double...) -> Double {
    let total = numbers.reduce(0, +)
    return total / Double(numbers.count)
}


✅ 실습: 좋아하는 음식 여러 개를 출력하는 함수 만들기



8. inout 파라미터


예제 1: 값 두 배로 만들기

func doubleValue(_ num: inout Int) {
    num *= 2
}


예제 2: 문자열에 느낌표 붙이기

func addExclamation(_ text: inout String) {
    text += "!"
}



✅ 실습: 나이 변수에 5를 더하는 함수 만들기




9. 함수 오버로딩 (이름은 같고 파라미터는 다름)


예제 1: 숫자 인쇄

func printValue(_ value: Int) {
    print("숫자: \(value)")
}



예제 2: 문자열 인쇄

func printValue(_ value: String) {
    print("문자열: \(value)")
}


✅ 실습: 

describe()  함수 만들기 – 숫자, 문자열 모두 지원


10. 중첩 함수


예제 1: 외부 함수 안의 내부 함수

func outer() {
    func inner() {
        print("내부 함수 실행")
    }
    inner()
}



예제 2: 내부 계산 함수

func calculator() {
    func square(x: Int) -> Int {
        return x * x
    }
    print(square(x: 5))
}


✅ 실습: 함수 안에서 “안녕” 3번 출력하는 내부 함수 만들기




11. 고차 함수 – 함수를 파라미터로 받기


예제 1: 함수 전달

func apply(_ value: Int, with operation: (Int) -> Int) {
    print("결과: \(operation(value))")
}
apply(3, with: { $0 * 3 })  // 9



예제 2: 문자열 가공기

func transform(_ input: String, using handler: (String) -> String) {
    print(handler(input))
}
transform("Swift", using: { $0.uppercased() })  // SWIFT



✅ 실습: 숫자를 받아 제곱하거나 세 배로 만드는 함수 전달 예제 만들기




✨ 마무리 정리


Swift 함수는 정말 다양하고 강력합니다!

아래 순서대로 학습해보세요:

  1. 기본 구조 이해

  2. 파라미터와 반환값

  3. 튜플 반환, 기본값, 가변 파라미터

  4. inout, 중첩, 고차 함수

  5. 실전에서의 응용과 설계 방식까지 확장




함수는 Swift 앱 개발의 시작이자 핵심이에요.

이 글의 예제를 직접 Xcode Playgrounds에서 실습해보면 확실하게 이해할 수 있습니다.


댓글 쓰기