Menu
Coddy logo textTech

옵셔널이란 무엇인가

Coddy Swift 여정의 기초 섹션에 포함된 레슨. 86개 중 11번째.

때로는 변수에 값이 전혀 없을 수도 있습니다. Swift에서는 값이 없음을 optional을 사용하여 나타냅니다. optional은 "값이 존재하며 그 값은 x이다" 또는 "값이 전혀 없다"를 의미합니다.

optional을 선언하려면 타입 뒤에 물음표 ?를 추가하세요:

var nickname: String? = "Alex"
var age: Int? = nil

위의 예시에서 nickname"Alex" 값을 가지는 반면, age는 "값이 없음"을 의미하는 Swift의 방식인 nil을 가집니다. 일반 변수는 nil이 될 수 없지만, optional은 가능합니다.

옵셔널(optional)을 무언가가 들어있을 수도 있고 비어있을 수도 있는 상자라고 생각해보세요. 내부의 값을 사용하기 전에 실제 그 안에 무언가가 있는지 확인해야 합니다. 이는 예상치 못한 누락된 값으로 인한 크래시를 방지하는 데 도움을 주는 Swift의 핵심 안전 기능입니다.

var score: Int? = 100
print(score) // Optional(100)

score = nil
print(score) // nil

값이 있는 optionals를 출력할 때 단순히 100이 아니라 Optional(100)으로 표시되는 것을 확인하세요. 내부의 실제 값에 접근하려면 optional을 unwrap해야 합니다. 이에 대해서는 다음 레슨에서 다룰 것입니다.

challenge icon

챌린지

쉬움

숫자를 받아 해당 숫자가 optional로 출력될 때 어떻게 보이는지 나타내는 문자열을 반환하는 createOptional 함수를 작성하세요.

중요: 이 함수는 String을 반환합니다. 실제 optional 값을 반환하는 것이 아니라, optional처럼 보이는 텍스트를 작성해야 합니다.

값을 포함하는 optional을 출력할 때, Swift는 Optional(value) 형식으로 표시합니다.

함수 구문 알림: Swift에서 값을 반환하는 함수는 -> 화살표를 사용하여 반환 타입을 지정하고, return 키워드를 사용하여 결과를 반환합니다. 예시:

func myFunction(param: Int) -> String {<br>    return "result"<br>}

문자열 보간(string interpolation)을 사용하여 반환 문자열을 생성할 수 있습니다: "Optional(\(value))"\(value) 부분은 숫자를 문자열에 직접 삽입합니다.

매개변수:

  • value (Int): optional 형식으로 감쌀 숫자

반환값: value가 전달된 숫자인 Optional(value) 형식의 문자열입니다.

예시: 입력이 100인 경우, "Optional(100)"을 반환합니다.

직접 해보기

func createOptional(value: Int) -> String {
    // 실제 옵셔널이 아닌 옵셔널처럼 보이는 String을 반환합니다
    // 문자열 보간을 사용하여 괄호 사이에 숫자를 삽입합니다
    return "Optional()"
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Swift 플레이그라운드