클래스 다이어그램
🏛️ 클래스 다이어그램 (Class Diagram)
클래스 다이어그램은 UML(Unified Modeling Language)의 구조 다이어그램 중 하나로, 시스템을 구성하는 클래스, 속성(Attribute), 메서드(Operation), 그리고 클래스 간의 관계를 시각적으로 표현하는 다이어그램입니다. 객체 지향 시스템의 정적인 구조를 모델링하는 데 가장 핵심적으로 사용됩니다.
🧱 클래스 다이어그램의 구성 요소
- 클래스 (Class) : 사각형으로 표현하며, 세 부분으로 나뉩니다.
> * `클래스 이름` : 가장 상단에 위치합니다. > * `속성 (Attribute)` : 클래스가 가지는 데이터. `속성명 : 타입` 형태로 표현하며, 접근 제어자(+, -, #)를 함께 표시합니다. > * `메서드 (Operation)` : 클래스가 수행할 수 있는 기능. `메서드명(매개변수) : 반환타입` 형태로 표현하며, 접근 제어자를 함께 표시합니다.
- 관계 (Relationship) : 클래스들 간의 상호작용이나 의존성을 나타냅니다.
> * 연관 (Association) : 두 클래스 간의 일반적인 관계. 실선으로 표현하며, 다중성(Multiplicity)을 표시할 수 있습니다. (예: 1:1, 1:N, M:N) > * 집합 (Aggregation) : 전체-부분 관계를 나타내지만, 부분이 전체로부터 독립적으로 존재할 수 있습니다. (빈 마름모) > * 합성 (Composition) : 전체-부분 관계를 나타내며, 부분이 전체에 강하게 종속되어 전체가 사라지면 부분도 사라집니다. (채워진 마름모) > * 일반화 (Generalization / 상속) : 부모-자식 관계. 자식 클래스가 부모 클래스의 속성과 메서드를 상속받습니다. (빈 삼각형 화살표) > * 실체화 (Realization / 구현) : 클래스가 인터페이스를 구현하는 관계. (점선 삼각형 화살표) > * 의존 (Dependency) : 한 클래스가 다른 클래스를 일시적으로 사용하는 관계. (점선 화살표)
💡 정보처리기사 핵심 Point
- 클래스 다이어그램은 시스템의 정적인 구조와 클래스 간의 관계를 명확하게 파악하는 데 가장 중요한 UML 다이어그램입니다.
- 정보처리기사 시험에서는 클래스 다이어그램의 각 구성 요소의 표기법과 의미를 정확히 이해하는 것이 중요합니다.
- 특히 연관, 집합, 합성, 일반화, 실체화, 의존 등 다양한 관계의 의미와 표기법을 정확히 구분하여 이해해야 합니다.
- 클래스 다이어그램은 객체 지향 설계의 핵심이며, 이를 통해 시스템의 유지보수성과 확장성을 높일 수 있습니다.