Default Initializers의 흔한 오해
iOYES
Swift에서 구조체나 클래스등에서 기본적으로 이니셜라이저를 명시적으로 생성하지 않을때 기본 이니셜라이저가 생성되어 호출할 수 있습니다.
그런데 이 기본 이니셜라이저의 access level에 대해 흔히 하는 오해들이 있습니다.
바로 명시적인 이니셜라이저가 아닌 암묵적인 기본 이니셜라이저가 생성될 때 이 접근 레벨은 타입과 동일하게 가는것으로 인식하는 경우가 있죠!
왜냐하면 공식문서에서 "A default initializer has the same access level as the type it initializes"로 나타나있기에 해석해봐도 그렇게 오해할 수가 있습니다 🥲
그러나 사실은 여기서의 same access level은 타입의 접근 레벨을 이니셜라이저에 카피하는게 아닌 이 타입에 접근할 수 있는 곳이라면 해당 기본 이니셜라이저에 접근할 수 있다는 의미로의 same으로 이해하는게 맞습니다 🙋🏻
더 많은 콘텐츠를 보고 싶다면?
이미 회원이신가요?
2023년 10월 17일 오전 5:52
추
... 더 보기