언어(Language)/Java

[Java] 접근 제어자, 정보은닉, 캡슐화

송기동 2024. 2. 14. 17:36
728x90

접근 제어자(Access modifier)

- 클래스, 메서드, 변수 등 멤버들에 대한 접근 권한을 제어하는데 사용

- 코드의 캡슐화, 보안, 유지 보수성 향상 가능

 

접근 제어자 종류

# private

- 동일한 클래스 내에서만 접근 가능

- 캡슐화를 구현하는데 사용

# default

- 접근 제어자를 명시하지 않는 경우 default 접근 제어자를 가짐

- 동일한 패키지 내에서만 접근 가능

# protected

- 동일한 패키지 내의 클래스와 해당 클래스를 상속한 클래스에서 접근 가능

   → 외부에서는 접근 불가, 상속 관계에 있는 클래스에서는 접근 가능

# public

- 어떤 클래스에서든 접근 가능


정보 은닉 (Information hiding)

- 접근 제어자를 이용하여 정보은닉을 실현

- 객체의 무결성을 보장하는 것을 목표

- 클래스의 내부 구현을 감추고 외부에 필요한 인터페이스만을 제공


캡슐화 (Encapsulation)

- 주로 접근 제어자를 이용하여 구현

- 필요한 경우에만 접근 가능한 메서드를 제공, 멤버 변수에 접근을 제어

- 오직 공개된 메서드를 통해서만 데이터에 접근하고 조작 가능




 

 

[Java] 접근 제어자 예시

접근 제어자(access modifier) - 클래스, 메서드, 변수 등 멤버들에 대한 접근 권한을 제어하는데 사용 - 코드의 캡슐화, 보안, 유지 보수성 향상 가능 접근 제어자 종류 # private - 동일한 클래스 내에서

thdrlehd.tistory.com

 

728x90