접근 제어자란? 클래스와 클래스 멤버(필드, 메소드, 생성자)를 선언할 때 접근 권한(범위)을 설정하는 키워드
접근 제어자 종류
- (default)
- public
- private
- protected
(default)
◆ 같은 패키지에서만 접근 가능
확실하게 같은 패키지에서만 이용할 때
public
◆ 모든 곳에서 접근 가능
모든 곳에서 자유롭게 접근이 가능해야 하는 필드들
(데이터를 처리하고 기능을 담당하는 메소드들)
private
◆ 다른 클래스, 다른 패키지에서 접근 불가
자신만 이용하는 경우나 데이터를 담는 변수들
(게시글 제목, 회원의 아이디, 계좌번호, 학생의 이름 등)
⭐ private 필드는 직접 접근할 방법이 하나도 없기 때문에 무조건 public 메소드를 통해서 간접적으로 접근한다.
(값을 사용하는 경우 : getter / 값을 수정하는 경우 : setter)
protected
◆ 같은 패키지에서만 접근 가능, 자식에서는 자신의 필드처럼 접근 가능
상속이 주 목적
(자식 클래스들이 사용 가능하고자 할 때, 자식 클래스들에서 오버라이딩을 해서 쓸 때)
⭐ protected 필드는 직접 선언하는 경우보다, 선언되어 있는 것을 사용하는 경우가 많다.
사용하고 싶다면 내 클래스에 상속시켜 주고 내 필드처럼 사용해야 한다.
'Backend > Java' 카테고리의 다른 글
[Java] 기초정리 18. 컬렉션 프레임워크(2) - HashSet (0) | 2024.09.03 |
---|---|
[Java] 기초정리 17. 컬렉션 프레임워크(1) - ArrayList (1) | 2024.09.02 |
[Java] 기초정리 15. 업캐스팅, 다운캐스팅, instanceof (0) | 2024.08.31 |
[Java] 기초정리 14. 상속(inheritance) - 클래스 상속 (0) | 2024.08.30 |
[Java] 기초정리 13. 클래스 배열(객체 배열) - 클래스 배열 선언, 사용 (0) | 2024.08.20 |