Java

Java / 접근 제어자

Dear-J 2025. 2. 21. 03:50

접근 제어자(Access Modifier)

private : 모든 외부 호출을 막음

default(package-private) : 같은 패키지 안에서는 호출 허용

protected : 같은 패키지 안에서는 호출 허용, 패키지가 달라도 상속 관계의 호출 허용

public : 모든 외부 호출 허용

 

접근 제어자를 명시하지 않으면 같은 패키지 안에서만 호출을 허용하는 default 접근 제어자가 적용됨

 

접근 제어자는 필드와 메서드, 생성자에 사용됨 + 클래스 레벨에도 일부 접근 제어자 사용 가능

 

클래스 레벨의 접근 제어자 규칙

public, default만 사용 가능

 

public 클래스는 반드시 파일명과 이름이 같아야 함

>>하나의 자바 파일에 public 클래스는 하나만 등장 가능

>> 하나의 자바 파일에 default 접근 제어자를 사용하는 클래스는 무한정 가능

 

캡슐화(Encapsulation)

데이터와 해당 데이터를 처리하는 메서드를 하나로 묶어서 외부에서의 접근을 제한하는 것

>> 데이터의 직접적인 변경을 방지하거나 제한

 

속성과 기능을 하나로 묶고, 외부에 꼭 필요한 기능만 노출하고 나머지는 모두 내부로 숨기는 것

 

데이터를 숨겨라

가장 필수로 숨겨야 하는 것은 속성(데이터)

객체 내부의 데이터를 외부에서 함부로 접근하게 두면

>>클래스 안에서 데이터를 다루는 모든 로직을 무시하고 데이터를 변경할 수 있음 (캡슐화 깨짐 현상)

 

객체의 데이터는 객체가 제공하는 기능인 메서드를 통해서 접근해야 한다!

 

기능을 숨겨라

객체의 기능 중에서 외부에서 사용하지 않고 내부에서만 사용하는 기능들이 있음

 

사용자 입장에서 꼭 필요한 기능만 외부에 노출하자!

 

'Java' 카테고리의 다른 글

Java / final  (0) 2025.02.22
Java / 자바 메모리 구조와 static  (0) 2025.02.22
Java / 패키지  (0) 2025.02.21
Java / 생성자  (0) 2025.02.21
Java / 기본형과 참조형  (0) 2025.02.21