옵셔널이란?
Coddy Swift 여정의 기초 섹션에 포함된 레슨. 86개 중 11번째.
때로는 변수에 값이 전혀 없을 수도 있습니다. Swift에서는 옵셔널을 사용하여 값이 없음을 나타냅니다. 옵셔널은 "값이 있고, 그 값은 x와 같다" 또는 "값이 전혀 없다"라고 말합니다.
optional을 선언하려면 타입 뒤에 물음표 ?를 추가하세요:
var nickname: String? = "Alex"
var age: Int? = nil위 예제에서 nickname은 "Alex" 값을 담고 있고, age는 nil을 담고 있습니다. nil은 Swift에서 “값이 없음”을 의미하는 방식입니다. 일반 변수에는 nil을 사용할 수 없지만, 옵셔널에는 사용할 수 있습니다.
optional을 무언가가 들어 있을 수도 있고 비어 있을 수도 있는 상자라고 생각해 보세요. 안에 있는 것을 사용하기 전에 실제로 무언가가 들어 있는지 확인해야 합니다. 이는 예상치 못한 누락된 값으로 인한 충돌을 방지하는 데 도움이 되는 Swift의 핵심 안전 기능입니다.
var score: Int? = 100
print(score) // Optional(100)
score = nil
print(score) // nil값이 있는 optional을 출력하면 단순히 100이 아니라 Optional(100)으로 표시된다는 점에 유의하세요. 내부의 실제 값에 접근하려면 optional을 언래핑해야 하며, 이에 대해서는 다음 수업에서 다룹니다.
챌린지
쉬움숫자를 받아 해당 숫자가 optional로 출력될 때 어떻게 보이는지 나타내는 문자열을 반환하는 createOptional 함수를 작성하세요.
중요: 이 함수는 String을 반환합니다. optional처럼 보이는 텍스트를 작성하는 것이며, 실제 optional 값을 반환하는 것이 아닙니다.
값을 포함하는 optional을 출력하면 Swift는 Optional(value) 형식으로 표시합니다.
함수 구문 알림: Swift에서 값을 반환하는 함수는 -> 화살표를 사용하여 반환 유형을 지정하고, return 키워드를 사용하여 결과를 반환합니다. 예:
func myFunction(param: Int) -> String {<br> return "result"<br>}
문자열 보간을 사용하여 반환 문자열을 만들 수 있습니다: "Optional(\(value))": \(value) 부분이 숫자를 문자열에 직접 삽입합니다.
매개변수:
value(Int): optional 형식으로 감쌀 숫자
반환값: value가 제공된 숫자인 Optional(value) 형식의 문자열입니다.
예: 입력이 100이면 "Optional(100)"을 반환합니다.
직접 해보기
func createOptional(value: Int) -> String {
// 실제 옵셔널이 아니라 옵셔널처럼 보이는 String을 반환합니다
// 문자열 보간을 사용하여 괄호 사이에 숫자를 삽입합니다
return "Optional()"
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: Swift 플레이그라운드