Java 접근 제어자 종류
- 자바에서 접근 제어자는 클래스, 메서드, 변수 등에 대한 접근 범위를 제어하기 위해 사용
- 접근 제어자를 적절하게 사용하는 것은 코드의 캡슐화와 보안성을 높이는 데 매우 중요
- 자바에서 사용할 수 있는 주요 접근 제어자는 네 가지(public, protected, default, private)
[ Public ]
- 정의 :
- 클래스, 메서드, 변수 등이 public으로 선언
- 모든 클래스에서 접근 가능
- 특징 :
- 어디서든 접근 가능
- 다른 패키지에서도 접근 가능
- API 클래스와 메서드 등에 주로 사용
[ Protected ]
- 정의 :
- 클래스, 메서드, 변수 등이 protected로 선언
- 동일 패키지 내의 클래스와 상속 관계에 있는 하위 클래스에서 접근 가능
- 특징 :
- 동일 패키지 내에서 접근 가능
- 다른 패키지의 하위 클래스에서도 접근 가능
- 상속 관계에서 접근을 허용하고 싶을 때 사용
[ Default ]
- 정의 :
- 접근 제어자를 명시하지 않으면, 기본 접근 제어자인 default가 적용
- 동일 패키지 내의 클래스에서만 접근 가능
- 특징 :
- 동일 패키지 내에서만 접근 가능
- 다른 패키지에서는 접근 불가
- 패키지 내부 구현에 대해서만 접근을 허용하고 싶을 때 사용
[ Private ]
- 정의 :
- 클래스, 메서드, 변수 등이 private으로 선언
- 해당 클래스 내에서만 접근 가능
- 특징 :
- 같은 클래스 내에서만 접근 가능
- 외부 클래스 및 하위 클래스에서 접근 불가
- 정보 은닉을 위해 사용
Java 접근 제어자의 역할
[ 캡슐화(Encapsulation) ]
- 캡슐화는 객체 지향 프로그래밍의 핵심 원칙 중 하나
- 데이터를 보호하고 외부에서 직접 접근하지 못하도록 제한하는 것을 의미
- 접근 제어자를 사용하면 클래스 내부의 구현 세부 사항을 감추고, 외부에서는 필요한 부분만 접근하도록 제한함.
[ 정보 은닉(Information Hiding) ]
- 정보 은닉은 클래스 내부의 데이터와 메서드를 숨겨 외부에서 보거나 수정할 수 없게 하는 것
- 이는 내부 구현의 복잡성을 감추고, 외부 코드가 내부 구현에 의존하지 않도록 함
[ 유지보수성(Maintainability) ]
- 접근 제어자를 사용하면 코드의 유지보수성을 높일 수 있음
- 메서드나 변수를 외부에서 접근하지 못하게 하여 내부 구현을 변경해도 외부 코드에 영향을 주지 않게 할 수 있음
[ 코드의 안전성(Safety) ]
- 접근 제어자는 코드의 안전성을 높이는 데 기여
- 중요한 데이터를 보호하고, 외부에서 직접 접근하여 잘못된 값을 설정하거나 수정할 위험을 줄임
접근 제어자 요약
- 적절한 접근 제어자를 사용함으로써 클래스의 내부 구현을 외부로부터 보호
- 코드의 유지보수성을 높일 수 있음
- 필요한 경우에만 접근 권한을 부여하여 클래스와 메서드 간의 의존성을 최소화하는 것이 좋음
'Java' 카테고리의 다른 글
[Java] 스트림(Stream) 특징, 사용 예제 (0) | 2024.10.11 |
---|---|
[Java] 자료구조 HashMap의 특징 및 핵심 원리 (0) | 2024.09.18 |
[Java] Quartz Scheduler 사용 해보기 (0) | 2024.09.03 |
[Java] enum(열거 타입)에 대해서 (0) | 2024.08.18 |
[Java] JSON 객체 다루기(JSONObject, JSONArray) (0) | 2024.08.02 |