1. 접근 제어자
- 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용 or 제한
좋은 프로그램이란?
: 무한한 자유도가 주어지는 프로그램이 아니다.
⇒ 적절한 제약을 제공하는 프로그램이 좋은 프로그램이다!
1-1. 접근 제어자 종류
- private
- 모든 외부 호출을 막음
- 클래스 안으로 숨길 때 사용
- (default)
- (package-private) 이라고도 함
- 같은 패키지 안에서는 허용
- 패키지 안으로 숨길 때 사용
- protected
- 같은 패키지 안에서 호출 허용
- (패키지가 달라도) 상속 관계 호출 허용
- 상속 관계로 숨길 때 사용
- public
- 모든 외부 호출 허용
- 숨기지 않을 때 사용
📌 차단 순
private > (default) > protected > public
1-2. 접근 제어자 사용 위치
- 클래스
- 클래스 레벨의 접근 제어자 : public, (default)만 사용 가능!
- public 클래스
- 하나의 자바 파일에 1개의 public 클래스만 존재 가능
- 반드시 파일 이름과 동일한 클래스 이름!
- (default) 클래스
- 하나의 자바 파일에 여러개의 default 클래스 존재 가능
- 예시 코드 (PublicClass.java 파일)
// PublicClass.java
// public 클래스는 오직 1개만 (파일명과 동일)
public class PublicClass {
//
}
// default 클래스는 여러개 가능
class DefaultClass1 {
}
class DefaultClass2 {
}
- 멤버 변수(필드)
- 생성자
- 메서드
📌 지역변수에는 접근 제어자 사용 x !!
'Java' 카테고리의 다른 글
[Java] 객체 지향 프로그래밍 - 상속 (Inheritance) (0) | 2024.07.08 |
---|---|
[Java] 객체 지향 프로그래밍 - 캡슐화 (Encapsulation) (0) | 2024.07.08 |
[Java] 생성자 (0) | 2024.07.08 |
[Java] 객체 지향 프로그래밍 (Object-Oriented Programming, OOP) (0) | 2024.07.08 |
[Java] 기본형과 참조형 (0) | 2024.07.08 |