Swift/etc

[Swift] self와 Self의 차이점

devKen 2023. 3. 11. 21:51

self

보통 인스턴스 메서드 안에서 현재 객체를 가르키고 싶을 때 사용한다. 프로퍼티, 메서드를 대상으로 한다.

 

Self

단순 객체가 아니라 Type(class, struct etc)을 가르키는 키워드이다. 만약 static 메서드를 사용한다면 이건 타입 자체에 속하기 때문에 self를 사용할 수 없다.

 

부끄럽게도 이제야 이걸 알게 되었다. 몰랐던 원인은 Xcode가 알려줄때 Self를 사용해야 하는 시점에 해당 타입을 추천해줘서 직접 모든 타입명을 다 입력해서 사용했기 때문이다. 반성