11-1 객체지향 설계(설계 원리)

윤효준·2025년 7월 27일
0

소프트웨어 공학

목록 보기
23/43

🌟 설계 기본 원리

추상화

사물의 대표적인 특징으로 대상물을 나타내는 것이다.

단계적 상세화

클래스 멤버들에 대한 제약 사항 설계, 메서드의 내부 로직 설계 등과 같은 단계적인 구체화 작업을 진행하며 구현과 관련된 정보들을 도출한다.

모듈화

변경에 대처하고 확장성을 높이기 위한 방법으로 모듈화는 중요하다.

정보 은닉

외부에 꼭 필요한 사항만 공개하기 위해 클래스 멤버들에 대한 참조 범위에 대한 선언이 필요하다.

관심사의 분할

상위 설계, 상세 설계 등의 개발 과정에서 사용자 인터페이스, 자료 구조 등의 소프트웨어 시스템 구성 요소 등에 대한 관심사를 분리하여 설계 활동을 진행한다.

🛠 설계 기법

팩토링

팩토링은 모델 요소의 유사점이나 차별점에 따라 별도의 모듈로 분리하는 과정이다.
새로운 클래스를 생성하는 방법으로 클래스들의 공통점을 추출하여 상위 클래스를 생성하는 일반화 과정과 상호 관련성이 존재하는 요소들을 집합 관계로 정의하는 과정을 고려할 수 있다.

파티셔닝

분할은 큰 모델을 세부 모델로 나누는 과정으로 작은 모델은 시스템을 구성하는 서브시스템이 될 수 있다.
이러한 분할 과정에서 모듈화 개념을 적용하는데 모델 요소 간의 메시지 전송이 많다면 이들을 하나의 서브시스템으로 통합하는 것이 유리하다.

계층화

시스템을 구성하는 요소들을 운영과 사용 환경 등을 고려하여 서로 다른 특징의 그룹으로 분리하는 과정이다.

profile
작은 문제를 하나하나 해결하며, 누군가의 하루에 선물이 되는 코드를 작성해 갑니다.

0개의 댓글