🎁 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 함수는 정말 다양하고 강력합니다!
아래 순서대로 학습해보세요:
-
기본 구조 이해
-
파라미터와 반환값
-
튜플 반환, 기본값, 가변 파라미터
-
inout, 중첩, 고차 함수
-
실전에서의 응용과 설계 방식까지 확장
함수는 Swift 앱 개발의 시작이자 핵심이에요.
이 글의 예제를 직접 Xcode Playgrounds에서 실습해보면 확실하게 이해할 수 있습니다.
댓글 쓰기