본문 바로가기
언어(Language)/Java

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

by 송기동 2024. 2. 14.
728x90

접근 제어자(Access modifier)

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

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

 

접근 제어자 종류

# private

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

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

# default

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

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

# protected

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

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

# public

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


정보 은닉 (Information hiding)

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

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

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


캡슐화 (Encapsulation)

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

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

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




 

 

[Java] 접근 제어자 예시

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

thdrlehd.tistory.com

 

728x90

'언어(Language) > Java' 카테고리의 다른 글

[Java] Lombok 어노테이션  (28) 2024.02.24
[Java] 생성자  (28) 2024.02.21
CURD기능 활용해서 책스토어 프로그램 만들어보기  (20) 2023.08.11
get,set 메서드  (21) 2023.08.11
[Java] 참조 자료형 (Reference Data Type)  (26) 2023.08.11