반응형

클래스 다이어그램 33

[C++] 27. 상속(일반화 관계) 개요

이제 OOP의 세 가지 주요 특징인 캡슐화, 상속, 다형성 중에 상속에 관해 알아볼게요. 상속은 다른 형식에 정의한 것을 마치 자신에서 정의한 것처럼 만드는 OOP의 특징입니다. 이러한 관계를 UML에서는 일반화 관계라 부르고 삼각형과 실선으로 관계를 표시합니다.일반화 관계는 “피아니스트는 음악가이다.”처럼 “이다.(is a)”로 나타낼 수 있는 관계입니다. 이 때 음악가처럼 일반적인 클래스를 기반 클래스라 말하며 피아니스트처럼 특수한 클래스를 파생 클래스라 부릅니다. C++에서 일반화 관계를 표현할 때 파생 문법을 이용합니다. 파생 문법은 파생 클래스를 정의할 때 기반 클래스를 다음처럼 나타냅니다. class Pianist : public Musician { }; 파생 클래스를 정의하면 기반 클래스에 ..

[C language] 104.도서관리프로그램 - 클래스다이어그램

도서 관리 프로그램에서는 장르별로 도서를 관리하게 할거예요. 따라서 사용자 정의 형식으로 프로그램, 장르, 도서로 역할을 구분하여 정의하기로 해요. 클래스 다이어그램에서는 프로그램에 정의할 형식을 클래스로 표시하고 클래스 간의 관계를 추가로 표시해요. 프로그램은 장르들의 집합체이고 장르는 도서의 집합체죠. 이와 같은 관계를 집합 관계(실선과 빈 다이아몬드)라 불러요.이 외에도 클래스 간의 관계는 직접 연관 관계, 연관 관계, 집합 관계, 일반화 관계, 의존 관계, 실현 관계가 있어요. C++, Java, C# 처럼 OOP 프로그램에서는 이와 같은 관계에 어울리는 문법이 있어요. 여기에서는 이들에 관한 설명은 하지 않을게요. 도서는 Book 구조체로 정의할게요. 도서 데이터에는 제목, 저자, 도서 번호를 ..

[C++] OOP 프로그래밍 실습 - 설계 (클래스 다이어그램)

10.4 설계 설계 단계에서는 클래스 다이어그램과 시퀀스 다이어그램을 작성해 봅시다. 먼저 프로그램에 클래스로 정의할 후보를 조사하고 이들에 대하여 클래스 명과 역할을 결정합니다. 그리고 각 클래스간의 관계를 포함하여 클래스 다이어그램을 작성합니다. 이 작업이 수행되고 나서 각 유즈케이스 별로 시퀀스 다이어그램을 작성할 것입니다. 시퀀스 다이어그램을 작성하기 위해서는 해당 유즈케이스를 수행하기 위해서 어떠한 순으로 진행해야 하는지와 진행 단계에서 어느 개체가 어느 개체에게 어떠한 메시지를 보내고 받아야 하는지에 대해서 결정을 할 것입니다. 이를 통해 클래스에 public으로 접근 수준을 설정할 멤버 메서드의 시그니쳐가 약속되게 됩니다. 10.4.1 클래스 다이어그램 작성 먼저, 시나리오를 보면서 클래스로..

반응형