주말에 공부한 Java랑 접근제한자의 이름과 용도가 조금 다른 것 같아서 정리해놓는다.
Java 접근제한자 내용이 포함된 포스트
접근제한자 종류
- public: 명시하지 않으면 기본적으로 public 이다.
- private: 동일한 클래스 내부에서만 접근 가능하다.
- internal: 같은 모듈 내부에서만 접근 가능하다.
- protected: 기본적으로 private이지만 상속을 받은경우에 타 모듈에서 접근할 수 있다.
Java와의 공통점 및 차이점
- 공통점
- public : 어디에서나 접근 가능
- private : 클래스 내부에서만 접근 가능
- 차이점
- 생략 :
- Java : 같은 패키지에서만 접근 가능
- Kotlin : 어디에서나 접근 가능(==public)
- protected :
- Java : 같은 패키지에서 접근 가능하나, 다른 패키지에 자식 클래스가 있으면 거기에서도 접근 가능
- Kotlin : 같은 클래스에서 접근 가능하나, 상속한 경우 다른 모듈의 클래스에서도 접근 가능
- internal :
- Java : internal 없음
- Kotlin : inernal 있음
그 중에서 가장 많이 쓰이는 public, private는 용도가 동일하니, 그 외의 접근제한자들은 나중에 사용할 때 다시 살펴보고 주의해야할 것 같다.
[TIL-240311]