🔥 Boolean 타입
Swift는 Bool
이라는 기본 Boolean
타입을 제공합니다. Boolean 값은 오직 참(true) 또는 거짓(false)만 가질 수 있기에 논리값
이라고도 불러요. Swift에서는 true
와 false
라는 두 개의 Boolean 상수 값을 제공하고 있습니다.
let orangesAreOrange = true // 오렌지는 주황색이다 - 참 let turnipsAreDelicious = false // 순무는 맛있다 - 거짓
swift
위 코드에서 orangesAreOrange
와 turnipsAreDelicious
의 타입은 Boolean 리터럴 값으로 초기화되었기 때문에 Bool
로 추론되었어요. 앞서 다룬 Int
나 Double
처럼 Bool
타입의 상수나 변수도 생성과 동시에 true
또는 false
로 설정한다면 따로 타입을 선언할 필요가 없답니다. 이런 타입 추론 기능 덕분에 이미 알려진 타입의 다른 값으로 초기화할 때 Swift 코드를 더욱 간결하고 읽기 쉽게 만들 수 있어요.
Boolean 값은 if
문과 같은 조건문을 다룰 때 특히 유용하게 사용됩니다.
if turnipsAreDelicious { print("음, 맛있는 순무!") } else { print("으, 순무는 맛이 없어.") } // "으, 순무는 맛이 없어."가 출력됨
swift
이처럼 if
문 같은 조건문은 제어문에서 더 자세히 다루니 참고하시기 바랍니다.
Boolean 값의 또 다른 활용 예시로는 토글(toggle)이 있어요. 토글은 두 가지 상태를 오가는 스위치를 뜻하는데, Boolean 변수를 사용하여 구현할 수 있답니다.
var lightsOn = true // 불이 켜져 있음 func toggleLights() { lightsOn.toggle() // lightsOn의 값을 반전시킴 if lightsOn { print("불이 켜졌어요!") } else { print("불이 꺼졌어요!") } } toggleLights() // "불이 꺼졌어요!" 출력 toggleLights() // "불이 켜졌어요!" 출력
swift
위 코드에서는 lightsOn
이라는 Boolean 변수를 사용하여 전등의 상태를 나타내고 있어요. toggleLights()
함수를 호출할 때마다 lightsOn.toggle()
메서드가 호출되면서 lightsOn
의 값이 반전되어요. 이 메서드는 Boolean 값을 간편하게 전환할 수 있게 해준답니다. 이렇게 toggle()
메서드를 활용하면 두 가지 상태를 오가는 기능을 더욱 간결하게 구현할 수 있죠.
Swift 5.7 버전부터는 !
연산자를 사용하는 대신 toggle()
메서드를 사용하는 것이 권장된답니다. 이렇게 하면 코드의 가독성과 명확성이 향상되는 동시에, Boolean 값을 전환하려는 의도를 더욱 명시적으로 표현할 수 있어요.
Swift의 타입 안정성 덕분에 Boolean이 아닌 값이 Bool
대신 사용되는 것을 막아줍니다. 다음 예제를 보면 컴파일 타임 에러가 발생하는 걸 확인할 수 있어요.
let i = 1 if i { // 이 예제는 컴파일되지 않고 에러가 발생함 }
swift
하지만 아래와 같이 작성하면 유효한 코드가 됩니다.
let i = 1 if i == 1 { // 이 예제는 성공적으로 컴파일됨 }
swift
i == 1
비교의 결과는 Bool
타입이므로, 두 번째 예제는 타입 검사를 통과하게 되지요. i == 1
과 같은 비교 연산에 대해서는 기본 연산자에서 더 자세히 설명하고 있답니다.
이처럼 Swift에서의 타입 안정성은 우연히 발생할 수 있는 에러를 방지하고, 코드의 특정 부분이 의도한 바를 명확히 하는 데 도움을 줍니다.
요약하자면:
- Swift는
Bool
이라는 기본 Boolean 타입을 제공함 true
와false
라는 두 개의 Boolean 상수 값이 존재함- 타입 추론을 통해 변수나 상수의 타입 선언을 생략할 수 있음
if
문 등의 조건문에서 Boolean 값을 효과적으로 활용 가능함- Boolean 값을 활용하여 토글과 같은 기능을 구현할 수 있음
toggle()
메서드를 사용하여 Boolean 값을 간편하게 전환할 수 있음- Swift의 타입 안정성은 Boolean이 아닌 값의 사용을 막아주고 코드의 명확성을 높여줌
Boolean 값을 적재적소에 활용한다면 더욱 가독성 높고 안정적인 Swift 코드를 작성할 수 있을 거예요! 꼭 실습을 통해 Boolean의 쓰임을 익혀보시길 바랍니다.
위 다이어그램은 Boolean 값이 if
문의 조건으로 사용되어 코드 실행 흐름을 결정하는 과정을 나타내고 있어요. Boolean의 진위 여부에 따라 서로 다른 코드 블록이 실행되는 모습을 확인할 수 있답니다.