Java final 키워드에 대해서 설명해주세요. 각각의 쓰임에 따라 어떻게 동작하나요? (Class, Variable)
final 키워드
- final class : 다른 클래스가 상속받지 못한다.
- final method : 자식 클래스에서 상위 클래스의 final method를 오버라이드 하지 못한다.
- final variable : 변하지 않는 상수 값이 되어서 새롭게 값을 할당할 수 없는 변수가 된다.
Java 접근 제어자에 대해 설명해주시고 Protect와 Private는 왜 사용되는지 이야기 해주세요.
접근 제어 지시자
1. public
- 어떤 클래스에서나 접근할 수 있다.
- private멤버와 프로그램 사이의 인터페이스 역할을 수행하기도 한다.
2. protected
- protect가 사용된 해당 패키지 내에서 접근할 수 있다.
- 해당 클래스를 상속받은 외부 패키지의 자식 클래스에서 접근할 수 있다.
3. private
- 해당 멤버를 선언한 클래스 내에서만 접근할 수 있다.
- 단, public 메소드를 통해 getter를 만들면 private 멤버 사용 가능
4. default
- 같은 클래스의 멤버,
- 해당 클래스가 정의되어 있는 패키지 내에서만 접근할 수 있다.