본문 바로가기
Swift

[Swift] self vs Self

by Sky Titan 2021. 12. 8.
728x90

self

  • 해당 타입의 인스턴스에 대한 참조를 나타낸다.
  • instance property, instance method 등을 참조한다.

 

Self

  • 해당 타입 자체에 대한 참조를 나타낸다.
  • type property, type method 등을 참조한다.

 

import UIKit

class Test {
    
    static var className: String = "Test"
    
    var instanceName: String = ""

    func printClassName() {
        print(Self.className)
    }
    
    func printInstanceName() {
        print(self.instanceName)
    }
}

let test = Test()
test.instanceName = "Test instance 1"

let test2 = Test()
test2.instanceName = "Test instance 2"

test.printInstanceName()
test.printClassName()
test2.printInstanceName()
test2.printClassName()
/*
Test instance 1
Test
Test instance 2
Test
*/
728x90

'Swift' 카테고리의 다른 글

[Swift] Extension에 storedProperty 선언하기  (0) 2022.03.26
[Swift] Property Wrapper  (0) 2022.02.13
[Swift] Dynamic Dispatch vs Static Dispatch  (0) 2021.12.05
[Swift] 클로저 (Closure)  (0) 2021.07.12
[Swift] Any, AnyObject  (0) 2021.06.21

댓글