본문 바로가기
iOS/swift

[Swift] Void에 대해 아라보자

by 23g 2025. 2. 24.

내가 만들어본 Void 설명 짤 (재미없나? ㅠㅠ)

🔹 Swift에서 Void란?

Void는 반환값이 없는 함수의 반환 타입을 나타내는 키워드임.
Swift에서는 Void는 사실 () (빈 튜플)과 동일함.


🔹 1. Void의 사용 예시

func sayHello() -> Void {
    print("Hello, Swift!")
}

위 함수에서 -> Void는 반환값이 없음을 의미함.
하지만 Swift에서는 -> Void를 생략 가능하기 때문에 보통 이렇게 씀:

func sayHello() {
    print("Hello, Swift!")
}

두 함수는 완전히 같은 의미임.


🔹 2. Void와 ()의 관계

Swift에서는 Void는 빈 튜플 ()의 타입 별칭임.
즉, 다음 두 표현은 같은 의미임:

typealias Void = ()

그래서 다음과 같은 표현도 가능함:

func doNothing() -> () {
    print("아무것도 반환하지 않음")
}

하지만 Void를 더 많이 사용하고, 대부분 생략함.


🔹 3. 클로저에서 Void 사용

클로저의 매개변수나 반환값이 없을 때 Void를 명시적으로 사용함.

let myClosure: () -> Void = {
    print("이 클로저는 아무것도 반환하지 않음")
}

myClosure()

위에서 () -> Void는 매개변수도 없고 반환값도 없는 클로저를 의미함.


🔹 4. Void를 반환 타입으로 사용할 때와 아닐 때 차이

func returnNothing1() {
    return  // 암시적으로 Void 반환
}

func returnNothing2() -> Void {
    return  // 명시적으로 Void 반환
}

두 함수 모두 Void를 반환하지만, Swift에서는 반환이 없을 경우 return을 생략할 수 있음.

하지만 다음처럼 다른 값을 반환하는 함수라면 반드시 return이 필요함:

func returnNumber() -> Int {
    return 10  // 반환값이 있으므로 반드시 return 필요
}

🔹 정리

  • Void는 반환값이 없는 함수의 반환 타입을 의미함.
  • 사실 Void는 빈 튜플 ()의 타입 별칭임.
  • Swift에서는 -> Void를 생략 가능함.
  • 클로저에서 매개변수나 반환값이 없을 때 Void를 명시적으로 사용함.

즉, Void는 "아무것도 반환하지 않음"을 표현하는 타입임.