캡슐화는 객체 지향 프로그래밍의 핵심 원칙 중 하나로, 데이터를 외부에서 직접 접근하지 못하도록 숨기고,
허용된 메소드를 통해서만 접근할 수 있도록 제한하는 것을 말한다. 데이터를 보호하고 코드의 유지보수성과 재사용성을 높이기 위한 개념이다.
주요 목적
1. 데이터 보호
- 외부 코드가 객체의 내부 데이터를 직접 변경하지 못하게 막는다.
- 잘못된 데이터를 방지하고 객체의 무결성을 유지한다.
2. 정보 은닉
- 클래스 내부의 구현 세부 사항을 숨기고, 외부에는 필요한 인터페이스만 제공한다.
- 사용자는 클래스의 내부 동작을 몰라도 클래스의 기능을 사용할 수 있다.
3. 유지보수성 향상
- 내부 구현이 변경되더라도 외부에 영향을 미치지 않아 코드를 쉽게 수정할 수 있다.
4. 코드 재사용성 향상
- 캡슐화된 코드는 재사용성과 확장이 용이하다.
구현 방법
1. 필드(변수)를 private로 선언
- 외부에서 직접 접근할 수 없도록 접근 제한자를 사용(private)
2. Getter 과 Setter 메소드 제공
- 데이터를 읽거나 수정할 수 있도록 public 메소드를 통해 접근을 허용함
- Getter : 변수값을 반환하는 메소드
- Setter : 변수값을 설정하는 메소드
캡슐화의 장점
1. 안정성 : 잘못된 데이터나 무작위적인 수정으로부터 보호함.
2. 유연성 : 필요 시 내부 구현을 수정하더라도 외부 코드를 변경할 필요 없음.
3. 읽기 쉬운 코드 : 데이터들 다루는 명확한 인터페이스 제공함.
'JAVA' 카테고리의 다른 글
2024.12.30(월) 10일차 / Java 자료형 (0) | 2024.12.30 |
---|---|
클래스와 메소드에 대하여 (1) | 2024.11.19 |
백준 문제 풀면서 자주 사용했던 함수 정리 (1) (0) | 2024.10.23 |
ASCII(아스키) 코드가 무엇일까? (0) | 2024.10.23 |
JAVA Substring 으로 문자열 자르기 (3) | 2024.10.23 |