내부 구현정보, 데이터 보호위해 은닉개체의 공용 인터페이스로만 접근가능한 특징
1. 클래스 정의:
- 관련 데이터와 메서드를 그룹화하여 클래스를 생성합니다.
- 추상화: 복잡한 시스템에서 핵심적인 개념이나 기능을 추출합니다.
2. 접근 제어자 사용:
- private, protected, public 등의 접근 제어자로 멤버의 가시성을 제한합니다.
3. 캡슐화 적용:
- 데이터(속성)를 private으로 선언합니다.
- public 메서드(getter/setter)를 통해 데이터에 접근합니다.
- 데이터와 그 데이터를 처리하는 메서드를 하나의 단위로 묶습니다.
4. 추상 클래스 및 메서드 정의:
- 추상화를 구현하기 위해 추상 클래스와 추상 메서드를 사용합니다.
- 공통된 특성을 추상 클래스로 정의하고, 구체적인 구현은 하위 클래스에 위임합니다.
5. 인터페이스 정의 및 구현:
- 클래스의 공개 메서드만을 선언하는 인터페이스를 정의합니다.
- 인터페이스를 통해 다형성을 구현하고, 느슨한 결합을 촉진합니다.
6. 상속 및 업캐스팅:
- 공통 특성을 가진 상위 클래스를 정의하고 하위 클래스가 상속받게 합니다.
- 업캐스팅: 하위 클래스의 객체를 상위 클래스 타입으로 참조하여 사용합니다.
- 이를 통해 코드의 재사용성을 높이고 다형성을 구현합니다.
7. 다형성 활용:
- 인터페이스나 추상 클래스를 이용해 다형성을 구현합니다.
- 같은 메서드 호출로 다양한 객체의 고유한 행동을 수행할 수 있게 합니다.
8. 불변성 고려:
- 가능한 경우, 객체의 상태를 변경할 수 없게 만들어 데이터 무결성을 보장합니다.
9. 디자인 패턴 적용:
- 정보 은닉과 관련된 디자인 패턴(예: 팩토리 패턴, 빌더 패턴 등)을 적절히 사용합니다.
'Professional Engineer > SE' 카테고리의 다른 글
프로토타입 모델 (0) | 2024.09.24 |
---|---|
폭포수 모델(애자일 비교) (0) | 2024.09.24 |
좋은 소프트웨어의 조건 (0) | 2024.09.24 |
소프트웨어 공학 정의 및 발전 원리 (0) | 2024.09.24 |
형상관리(Conflguration Management) (0) | 2024.08.02 |
댓글