옵셔널이란 무엇인가
Coddy Swift 여정의 기초 섹션에 포함된 레슨 — 86개 중 11번째.
때때로 변수에 값이 전혀 없을 수도 있습니다. Swift에서는 값이 없음을 옵셔널(optionals)을 사용하여 표현합니다. 옵셔널은 "값이 있고 그 값은 x이다" 또는 "값이 전혀 없다"는 것을 의미합니다.
옵셔널을 선언하려면, 타입 뒤에 물음표 ?를 추가하세요:
var nickname: String? = "Alex"
var age: Int? = nil위의 예시에서 nickname은 "Alex"라는 값을 가지는 반면, age는 "값이 없음"을 뜻하는 Swift의 방식인 nil을 가집니다. 일반 변수는 nil이 될 수 없지만, 옵셔널은 가능합니다.
옵셔널(optional)을 무언가가 들어있을 수도 있고 비어있을 수도 있는 상자라고 생각해보세요. 그 안에 있는 것을 사용하기 전에, 실제로 무언가가 들어있는지 확인해야 합니다. 이것은 예기치 않은 값의 누락으로 인한 충돌을 방지하는 데 도움이 되는 Swift의 핵심 안전 기능입니다.
var score: Int? = 100
print(score) // Optional(100)
score = nil
print(score) // nil값이 있는 옵셔널을 출력하면 100이 아니라 Optional(100)으로 표시된다는 점에 유의하세요. 내부의 실제 값에 접근하려면 옵셔널을 언랩(unwrap)해야 하며, 이는 다음 레슨에서 다룰 예정입니다.
챌린지
쉬움숫자를 받아서 해당 숫자가 옵셔널로 출력될 때의 모습을 문자열로 반환하는 createOptional 함수를 작성하세요.
값이 포함된 옵셔널을 출력할 때, Swift는 이를 Optional(value) 형식으로 표시합니다.
함수 구문 리마인더: Swift에서 값을 반환하는 함수는 -> 화살표를 사용하여 반환 타입을 지정하고, return 키워드를 사용하여 결과를 보냅니다. 예를 들어:
func myFunction(param: Int) -> String {<br> return "result"<br>}
문자열 보간법(string interpolation)을 사용하여 반환할 문자열을 만들 수 있습니다: "Optional(\(value))" — \(value) 부분은 숫자를 문자열 안에 직접 삽입합니다.
매개변수:
value(Int): 옵셔널 형식으로 감쌀 숫자
반환값: value가 제공된 숫자인 Optional(value) 형식의 문자열.
예시: 입력값이 100이라면, "Optional(100)"을 반환합니다.
치트 시트
Swift에서 옵셔널(optionals)은 값의 부재 또는 존재를 나타냅니다. 옵셔널은 값을 포함하거나 nil일 수 있습니다.
옵셔널을 선언하려면 타입 뒤에 물음표 ?를 추가합니다:
var nickname: String? = "Alex"
var age: Int? = nil일반 변수는 nil이 될 수 없지만, 옵셔널은 가능합니다. "값이 없음"을 나타내려면 nil을 사용하세요:
var score: Int? = 100
score = nil값이 있는 옵셔널을 출력할 때, Swift는 이를 Optional(value)로 표시합니다:
var score: Int? = 100
print(score) // Optional(100)
score = nil
print(score) // nil직접 해보기
func createOptional(value: Int) -> String {
// 여기에 코드를 작성하세요
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.