일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 실습으로 다지는 c#
- 충남 천안
- 클래스 다이어그램
- 강의
- 언제나휴일
- 안드로이드 앱 개발
- 소스 코드
- 언제나 휴일
- c언어
- 알고리즘
- 프로젝트
- 동영상 강의
- 표준 라이브러리 함수
- 산책하기 좋은 곳
- 무료 동영상 강의
- 네트워크 프로그래밍
- Windows Forms
- C++
- 실습
- 동영상
- c#
- 소켓 통신
- 추천
- 독립기념관
- 표준 입출력
- 파이썬
- 졸업 작품 소재
- 원격 제어 프로그램
- 유튜브 동영상 강의
- 캡슐화
- Today
- Total
목록전체 글 (365)
프로그래밍 언어 및 기술 [언제나휴일]
[C++] 상속과 다형성 최종 실습 시나리오 이제 상속과 다형성의 마지막 실습이예요. 다음의 시나리오를 보고 직접 클래스 다이어그램도 작성해 보고 구체적으로 구현해 보세요. 시나리오 프로그램이 시작하면서 학사 학생과 운동 학생, 마법 학생을 한 명씩 생성 학생을 생성 후 전체 학생에게 강의=>자습=>잠자기=>휴식하기=>음료마시기=>노래하기 순으로 진행 (각 단계마다 학생 정보를 출력) 자습하기에서는 해당 학생이 학사 학생이면 독서도 지시함 휴식하기에서는 해당 학생이 마법 학생이면 여행도 지시함 노래하기에서는 해당 학생이 운동 학생이면 춤추게 지시함 1. 학생 멤버 필드로 이름, 주민번호, 체력, 지력, 스트레스가 있음 주민번호: 순차적 부여 이름: 생성 시 전달 지력:100(최소 0, 최대 200) 체력..

[C++] 상속과 다형성 실습 (도형) 이번 실습은 도형을 소재로 할게요. 위 그림은 Visual Studio에서 제공하는 기능을 사용하여 출력한 클래스 다이어그램입니다. 시나리오 1. 도형 도형 ID를 순차적으로 부여합니다. 순수 가상 메서드로 Draw 메서드를 제공합니다. 파생 형식에서도 접근 가능한 GetID 접근자를 제공합니다. 2. 점 x와 y 좌표 멤버를 갖습니다. 생성자에서 x, y 좌표를 입력 인자로 받습니다. Draw 메서드를 재정의합니다. 3. 선 두 개의 점을 멤버로 갖습니다. 생성자에서 두 점의 x, y 좌표를 입력 인자로 받습니다. Draw 메서드를 재정의합니다. 여러분께서 먼저 작성해 본 후에 비교해 보세요. 작성하다 막히면 앞에 상속과 다형성에 관한 내용을 보시면서 하시기 바랍..

[C++] 상속, 다형성 실습 (상품, 할인 상품) 이제 상속과 다형성 실습을 해 봅시다. 이번 실습은 상품을 소재로 할게요. 시나리오 1. 상품 상품 이름과 가격을 멤버 필드로 갖습니다. 생성할 때 이름과 가격을 입력 인자로 받습니다. 가격과 이름의 접근자를 제공하며 가격 접근자는 가상 메서드입니다. 상품 정보를 출력하는 가상 메서드를 제공합니다. 형식 내부에서만 접근 가능한 가격 설정자와 이름 설정자가 있습니다. 2. 할인 상품 할인율을 멤버 필드로 갖습니다. 상품 이름과 가격, 할인율을 입력 인자로 받습니다. 가격 접근자와 상품 정보 출력하는 메서드를 재정의합니다. 할인율의 접근자 메서드를 제공합니다. 형식 내부에서만 접근할 수 있는 할인율 설장자가 있습니다. 여러분께서 먼저 작성해 본 후에 비교해..

C++에서의 형 변환 이번에는 C++언어에서 제공하는 형 변환에 관해 살펴보기로 해요. 이 부분은 OOP 특징은 아니지만 앞에서 dynamic_cast를 사용하는 방법을 소개하여 다른 형 변환도 알아보려는 거예요. 먼저 C++ 언어에서도 강제 형변환(명시적 형변환이라고도 부름)을 제공하고 있습니다. 하지만 강제 형변환은 잘못 사용하면 심각한 버그를 유발할 수 있습니다. 다음은 서로 관련이 없는 Man 클래스와 Student 클래스를 정의한 후에 강제 형변환을 사용하는 예제입니다. 컴파일 오류는 발생하지 않지만 프로그램 동작 중에 버그로 런 타임 오류가 발생할 수 있습니다. //강제 형 변환이 갖는 위험 요소 #include #include using namespace std; class Man { str..

[C++] 하향 캐스팅 이번에는 기반 형식 포인터 변수로 참조하고 있는 형식을 프로그램 동작 시에 파생 형식으로 형 변환하는 하향 캐스팅을 알아보기로 해요. 다형성은 캡슐화와 상속을 보다 효과적이고 현실 세계에 근접하게 표현할 수 있게 해주는 특징입니다. 하지만 기반 클래스 형식 포인터 변수로 파생 개체를 관리하는 것은 치명적인 단점이 있습니다. 만약 기반 클래스 형식에서는 약속할 필요가 없는 메서드가 파생 클래스 형식에 있을 때 해당 메서드의 접근 수준을 public으로 제공해도 접근하지 못합니다. 이러한 약점을 보완하기 위해 많은 OOP언어에서는 런 타임에 파생 개체 형식으로 형 변환(캐스팅)하는 방법을 제공하고 있으며 이를 하향 캐스팅이라 합니다. C++언어에서는 dynamic_cast를 통해 하향..