1. 객체지향 설계 원칙 ( SOLID )
객체지향 프로그래밍 ( OOP )에서 유지보수성과 확장성을 고려한 설계 원칙으로 SOLID 원칙이 있다.
- S ( Single Responsibility Principle, 단일 책임 원칙 )
- 한 클래스는 하나의 책임만 가져야 한다.
- 책임이 많아질 경우 클래스를 분리하여 변경이 용이하도록 설계한다.
- O ( Open/Closed Principle, 개방-폐쇄 원칙 )
- 기존 코드를 수정하지 않고 기능을 확장할 수 있어야 한다.
- 인터페이스 또는 추상 클래스를 활용하여 다형성을 적용한다.
- L ( Liskov Substitution Principle, 리스코프 치환 원칙 )
- 자식 클래스는 부모 클래스의 기능을 대체할 수 있어야 한다.
- 상속 관계에서 부모의 동작을 보장하도록 설계한다.
- I ( Interface Segregation Principle, 인터페이스 분리 원칙 )
- 하나의 인터페이스가 너무 많은 기능을 가지지 않도록 한다.
- 필요 없는 기능을 강제하지 않기 위해 인터페이스를 분리한다.
- D ( Dependency Inversion Principle, 의존성 역전 원칙 )
- 구체적인 구현 클래스보다 추상화 ( 인터페이스, 추상 클래스 )에 의존해야 한다.
- 의존성을 줄이기 위해 의존성 주입 ( DI, Dependency Injection )을 활용한다.
2. 객체지향 분석 및 설계 (OOAD: Object-Oriented Analysis & Design)
소프트웨어를 개발할 때 요구사항을 분석하고 설계하는 과정에서 객체지향 개념을 적용하는 방법이다.
- 객체지향 분석 (OOA: Object-Oriented Analysis)
- 요구사항을 분석하여 시스템에서 필요한 객체를 식별한다.
- 유스케이스(Use Case) 다이어그램을 통해 시스템 동작을 모델링한다.
- 객체지향 설계 (OOD: Object-Oriented Design)
- 분석된 객체들을 설계 패턴을 활용하여 구체화한다.
- 클래스 다이어그램(Class Diagram)과 시퀀스 다이어그램(Sequence Diagram)을 활용한다.
- 객체지향 구현 (OOP: Object-Oriented Programming)
- 설계된 객체와 관계를 코드로 구현한다.
- SOLID 원칙을 적용하여 유지보수성을 높인다.
'CS 공부' 카테고리의 다른 글
CS) OOAD와 UML 개발 방식 (0) | 2025.03.14 |
---|---|
CS) CASE, 럼바우 기법, 요구사항 모델링 (0) | 2025.02.21 |
CS) 응집도 ( Cohesion ) (0) | 2025.02.18 |
CS) 데이터베이스 관계대수, 관계 함수, 정규화 (0) | 2025.02.16 |
CS) 정처기 대비 요약 정리 (0) | 2025.02.15 |