Bibi's DevLog πŸ€“πŸŽ

[Swift] μΈμŠ€ν„΄μŠ€ 비ꡐ 방법 - is, 메타 νƒ€μž… λ³Έλ¬Έ

πŸ“±πŸŽ iOS/πŸ•Š Swift

[Swift] μΈμŠ€ν„΄μŠ€ 비ꡐ 방법 - is, 메타 νƒ€μž…

λΉ„λΉ„ bibi 2022. 8. 2. 16:14

[Swift] μΈμŠ€ν„΄μŠ€ 비ꡐ 방법 - is, 메타 νƒ€μž…

is

is : νƒ€μž… 확인 μ—°μ‚°μž.

  • μΈμŠ€ν„΄μŠ€κ°€ μ–΄λ–€ 클래슀의 μΈμŠ€ν„΄μŠ€μΈμ§€ (λ˜λŠ” μ–΄λ–€ 클래슀의 μžμ‹ν΄λž˜μŠ€μ˜ μΈμŠ€ν„΄μŠ€μΈμ§€) νƒ€μž…μ„ 확인해볼 수 μžˆλ‹€.

    • ν•΄λ‹Ή 클래슀의 μΈμŠ€ν„΄μŠ€κ±°λ‚˜ κ·Έ μžμ‹ν΄λž˜μŠ€μ˜ μΈμŠ€ν„΄μŠ€λΌλ©΄ true λ°˜ν™˜
    • 그렇지 μ•ŠμœΌλ©΄ false λ°˜ν™˜
  • print(latte is Coffee) // true

  • print(latte is Americano) // false

메타 νƒ€μž… Meta Type

메타 νƒ€μž… : νƒ€μž…μ˜ νƒ€μž…. νƒ€μž… 자체λ₯Ό ν•˜λ‚˜μ˜ νƒ€μž…μœΌλ‘œ ν‘œν˜„ κ°€λŠ₯

  • .Type : νƒ€μž… 뒀에 λΆ™μ—¬ κ·Έ νƒ€μž…μ˜ 메타 νƒ€μž… λ‚˜νƒ€λƒ…

  • .Protocol : ν”„λ‘œν† μ½œ 뒀에 λΆ™μ—¬ κ·Έ ν”„λ‘œν† μ½œ νƒ€μž…μ˜ 메타 νƒ€μž…μ„ λ‚˜νƒ€λƒ„

  • .self : νƒ€μž…μ„ κ°’μ²˜λŸΌ ν‘œν˜„ κ°€λŠ₯

let intType : Int.Type = Int.self