JAVA
캡슐화란 무엇일까?
동준1234
2024. 11. 19. 15:22
캡슐화는 객체 지향 프로그래밍의 핵심 원칙 중 하나로, 데이터를 외부에서 직접 접근하지 못하도록 숨기고,
허용된 메소드를 통해서만 접근할 수 있도록 제한하는 것을 말한다. 데이터를 보호하고 코드의 유지보수성과 재사용성을 높이기 위한 개념이다.
주요 목적
1. 데이터 보호
- 외부 코드가 객체의 내부 데이터를 직접 변경하지 못하게 막는다.
- 잘못된 데이터를 방지하고 객체의 무결성을 유지한다.
2. 정보 은닉
- 클래스 내부의 구현 세부 사항을 숨기고, 외부에는 필요한 인터페이스만 제공한다.
- 사용자는 클래스의 내부 동작을 몰라도 클래스의 기능을 사용할 수 있다.
3. 유지보수성 향상
- 내부 구현이 변경되더라도 외부에 영향을 미치지 않아 코드를 쉽게 수정할 수 있다.
4. 코드 재사용성 향상
- 캡슐화된 코드는 재사용성과 확장이 용이하다.
구현 방법
1. 필드(변수)를 private로 선언
- 외부에서 직접 접근할 수 없도록 접근 제한자를 사용(private)
2. Getter 과 Setter 메소드 제공
- 데이터를 읽거나 수정할 수 있도록 public 메소드를 통해 접근을 허용함
- Getter : 변수값을 반환하는 메소드
- Setter : 변수값을 설정하는 메소드
캡슐화의 장점
1. 안정성 : 잘못된 데이터나 무작위적인 수정으로부터 보호함.
2. 유연성 : 필요 시 내부 구현을 수정하더라도 외부 코드를 변경할 필요 없음.
3. 읽기 쉬운 코드 : 데이터들 다루는 명확한 인터페이스 제공함.