반응형
안녕하세요, **'생각하는 개발자'**입니다.
우리는 지난 시간에 변수와 옵셔널이라는 '재료'를 배웠습니다. 이제 그 재료들을 가지고 요리할 시간입니다. 프로그램이 상황에 따라 판단하고(조건문), 같은 일을 반복하며(반복문), 똑똑한 레시피(함수)를 만드는 법을 알아보겠습니다.
플레이그라운드를 켜고, 오늘 소개할 코드들을 직접 타이핑하며 결과를 확인해 보세요!

2.3.1 조건문: 상황에 따른 선택 🏺
비유: 인생의 갈림길 Swift의 if문은 코틀린과 거의 같지만, 소괄호()를 생략할 수 있어 훨씬 깔끔합니다. 또한, 코틀린의 when처럼 강력한 switch문이 준비되어 있습니다.
let score = 85
// 1. if-else 문
if score >= 90 {
print("A학점입니다.")
} else if score >= 80 {
print("B학점입니다.")
} else {
print("열공합시다!")
}
// 2. switch 문 (강력한 패턴 매칭)
switch score {
case 90...100:
print("장학생이네요!")
case 80..<90:
print("우수한 성적입니다.")
default:
print("나머지 점수입니다.")
}
// 1. if-else 문
if score >= 90 {
print("A학점입니다.")
} else if score >= 80 {
print("B학점입니다.")
} else {
print("열공합시다!")
}
// 2. switch 문 (강력한 패턴 매칭)
switch score {
case 90...100:
print("장학생이네요!")
case 80..<90:
print("우수한 성적입니다.")
default:
print("나머지 점수입니다.")
}
Tip: Swift의 switch는 모든 경우의 수를 다루어야 하므로 default가 필수입니다. 또한 ... 범위를 활용하면 코드가 훨씬 읽기 쉬워집니다.
2.3.2 반복문: 지치지 않는 코드 📜
데이터의 묶음(배열)을 처리할 때 가장 많이 사용하는 for-in 구문입니다.
let apps = ["안드로이드", "iOS", "플러터"]
for app in apps {
print("현재 공부 중인 분야: \(app)")
}
// 숫자로 반복하기
for i in 1...3 {
print("\(i)번 반복 중...")
}
for app in apps {
print("현재 공부 중인 분야: \(app)")
}
// 숫자로 반복하기
for i in 1...3 {
print("\(i)번 반복 중...")
}
2.3.3 함수: 효율적인 레시피 만들기 🚀
함수는 반복되는 코드를 하나로 묶어 이름 붙인 것입니다. Swift 함수의 특징은 **'아규먼트 레이블(Argument Label)'**을 사용해 함수 호출 시 마치 영어 문장을 읽는 것처럼 만든다는 점입니다.
// 함수 정의: (외부이름 내부이름: 타입) -> 반환타입
func sayHello(to name: String) -> String {
return "안녕하세요, \(name)님!"
}
// 함수 호출: 외부이름인 'to'를 사용합니다.
let greeting = sayHello(to: "생각하는 개발자")
print(greeting) // 출력: 안녕하세요, 생각하는 개발자님!
func sayHello(to name: String) -> String {
return "안녕하세요, \(name)님!"
}
// 함수 호출: 외부이름인 'to'를 사용합니다.
let greeting = sayHello(to: "생각하는 개발자")
print(greeting) // 출력: 안녕하세요, 생각하는 개발자님!
비유: to는 밖에서 부르는 이름, name은 안에서 사용하는 이름입니다. 덕분에 코드를 읽을 때 sayHello(to: "Name")이라고 읽히게 되어 가독성이 비약적으로 상승합니다.
📝 핵심 포인트 요약
- if문은 소괄호를 쓰지 않아 문법이 간결합니다.
- switch문은 범위를 다루기 매우 편리하며 default가 필수입니다.
- 함수는 호출할 때 사용하는 이름(외부 파라미터)을 별도로 지정할 수 있어 **'가독성'**이 뛰어납니다.
- [GitHub 소스 코드 링크]
반응형
'iOS (Swift)' 카테고리의 다른 글
| [오늘의 코드 조각] [iOS 3-1] UIKit의 기초 : 스토리보드와 오토레이아웃(Auto Layout) 핵심 원리 (0) | 2026.02.11 |
|---|---|
| [오늘의 코드 조각] [iOS 2-4] 클래스와 구조체 : 객체지향 vs 값 타입, Swift가 구조체를 사랑하는 이유 (0) | 2026.02.11 |
| [오늘의 코드 조각] [iOS 2-2] Optional : Swift가 안전한 이유 (nil을 다루는 법) (0) | 2026.02.10 |
| [오늘의 코드 조각] [iOS 2-1] Swift 문법 정수 : 변수와 상수의 본질 (let vs var) (0) | 2026.02.10 |
| [오늘의 코드 조각] [iOS 1-3] Hello Swift World! : 첫 프로젝트 생성과 시뮬레이터 구동 (0) | 2026.02.09 |