[디딤돌 C++] 20. 캡슐화 실습1 – 복소수

학생) 클래스 다이어그램에서 클래스는 클래스 이름, 멤버 필드, 멤버 메서드로 구성해요.

캡슐화 실습을 해 보기로 해요. 이번에는 복소수 클래스 캡슐화예요.

 

OOP 프로그래밍 할 때 구현 이전의 작업과 이후의 많은 작업을 CASE 도구로 UML로 표현할 때가 많아요. CASE 도구에는 Rose, Together, StarUML 등이 있습니다.

 

이 책에서는 CASE 도구를 사용하는 방법을 구체적으로 다루지는 않지만 많은 곳에서 UML로 작성한 다이어그램으로 실습할 내용 등을 소개할 거예요.

허수부와 실수부로 구성하는 복소수 클래스 다이어그램

UML로 클래스를 표현할 때는 세 칸으로 구성한 사각형으로 나타내요. 맨 위는 클래스 이름, 두 번째는 멤버 필드, 마지막 칸은 멤버 메서드를 표현합니다.

 

멤버 앞에 +(public), -(private), #(protected)은 접근 지정자를 나타내죠. 그리고 멤버 필드명 뒤에 콜론(:)이 오고 콜론 뒤에 형식을 표현해요.

특수한 멤버나 클래스에 << >>로 감싸는 것을 스테레오라고 부르며 여기에서 ctor은 생성자를 나타내기 위해 개인적으로 표현한 것입니다.

멤버 메서드에서드 뒤에 콜론 뒤에 오는 것이 반환 형식입니다.

이번에는 실수부와 허수부로 구성하는 복소수를 Complex 이름으로 정의하기로 해요.

 

먼저 클래스를 프로젝트에 추가해야겠죠.

 

헤더 파일에 클래스를 정의하였으면 이제 소스 파일에 구체적으로 정의하세요.

 

생성자에서는 입력 인자로 받은 값으로 멤버 필드를 설정해야죠. 멤버 메서드로 설정자가 있으니 이를 호출해서 설정하기로 해요.

 

접근자 메서드에서는 멤버 필드를 반환하세요.

 

설정자에서는 입력 인자로 받은 값으로 멤버 필드를 설정하세요.

 

정보 출력하는 메서드를 구현합시다. 실수부와 허수부의 값에 따라 어떻게 출력할 것인지 잘 생각하시고 사용자가 이해하기 편하게 출력하게 구현하세요.

 

마지막으로 집입점 main 함수를 작성하세요. 진입점이 있는 소스 파일은 Program.cpp로 정할게요. 여러분께서는 다양한 인자를 사용하여 복소수 개체를 생성한 후 값을 출력해 보세요.

 

다음은 이번 실습의 전체 내용입니다.

 

 

 

▷ 실행 결과

0

2.1

2.1+3.3i

3.3i

2.1

2.1+-3.3i

 

여러분께서는 보다 사용자가 편하게 정의해 보세요.


[C++ 무료 동영상 강의] 20. 캡슐화 실습1 – 복소수