일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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언어
- 네트워크 프로그래밍
- c#
- 강의
- 언제나휴일
- 캡슐화
- Windows Forms
- 졸업 작품 소재
- 실습
- 원격 제어 프로그램
- 소켓 통신
- 충남 천안
- 파이썬
- 동영상
- 알고리즘
- 독립기념관
- 프로젝트
- C++
- 동영상 강의
- 클래스 다이어그램
- 추천
- 유튜브 동영상 강의
- 무료 동영상 강의
- 산책하기 좋은 곳
- 안드로이드 앱 개발
- 표준 입출력
- 표준 라이브러리 함수
- Today
- Total
목록전체 글 (365)
프로그래밍 언어 및 기술 [언제나휴일]
[C++] 다형성 개요 이번에는 OOP의 주요 특징 세 가지인 캡슐화, 상속, 다형성 중에 다형성에 관해 살펴봅시다. 다형성은 기반 형식의 멤버를 파생 형식에서 상속받는 장점을 활용할 수 있는 OOP 특징입니다. 하나의 기반 형식에서 파생한 다양한 파생 클래스가 있을 때 같은 형식의 변수로 접근할 수 있으면 프로그래밍을 효과적으로 할 수 있겠죠. C++언어에서는 기반 형식의 포인터 변수로 파생 형식의 개체를 설정할 수 있습니다. 그리고 기반 형식의 참조 변수로 파생 형식의 개체를 설정할 수도 있습니다. class Musician { }; class Pianist:public Musician { }; int main() { Musician *musician = new Pianist(); //기반 형식 포인..

[C++] 무효화 기반 클래스에서 정의한 멤버 메서드와 같은 이름으로 파생 형식에서 정의하면 어떻게 동작할까요? 파생 클래스에서 기반 클래스에 정의한 이름과 같은 이름으로 메서드를 만들면 기반 클래스에 정의한 메서드를 무효화합니다. 예를 들어 일반 프로그래머가 있고 EH 프로그래머가 있는데 대부분의 행위에 있어 EH 프로그래머는 일반 프로그래머와 같게 일을 한다고 가정합시다. 하지만 일반 프로그래머가 프로그래밍을 할 때 “생각하면서 코딩을 한다.”와 같이 하는데 EH 프로그래머가 프로그래밍을 할 때는 “생각한 것을 문서화 하고 이를 보면서 코딩을 한다.”고 해 볼게요. 이 때 일반 프로그래머의 프로그래밍이라는 메서드를 무효화합니다. //무효화 #include #include using namespace ..
[C++] 접근 지정자 protected 이번에는 접근 지정자 protected에 관해 알아보기로 해요. 캡슐화에서 접근 지정자를 사용하여 멤버의 가시성을 설정할 수 있다는 것을 다뤘었죠. private으로 접근 지정한 것은 형식 내부에서 사용할 수 있고 public으로 지정하면 모든 곳에서 접근할 수 있다는 것은 이미 소개하였습니다. 파생 클래스를 정의하면 기반 형식의 멤버를 상속받는다고 하였는데 접근 지정을 private으로 설정한 멤버는 어떻게 접근할까요? priavate으로 접근 지정한 멤버는 파생 클래스에서도 접근할 수 없습니다. 분명히 상속받아 개체 내부에 있지만 가시성이 없어 접근할 수 없습니다. 이럴 때는 기반 클래스에서 protected로 접근 지정하여 파생 클래스에서 접근할 수 있게 해..
[C++] 파생 개체의 생성과 소멸 과정 이번에는 일반화 관계에 있는 파생 클래스 형식의 개체를 생성과 소멸 과정을 알아보기로 할게요. 파생 클래스 형식의 개체를 생성할 때는 기반 클래스를 생성한 후에 파생 클래스를 생성합니다. 실제 생성한 개체에는 기반 클래스에 정의한 멤버도 만들어지는 것이죠. 그리고 소멸할 때는 생성 과정의 역으로 파생 클래스의 소멸자를 수행한 후에 기반 클래스의 소멸자를 수행합니다. 다음은 이를 확인하기 위해 기반 클래스 음악가와 파생 클래스 피아니스트 클래스에 생성자와 소멸자를 추가하여 어떤 순서로 수행하는지 확인하기 위한 출력문을 작성한 예제 코드입니다. //파생 개체의 생성과 소멸 과정 #include #include using namespace std; class Music..

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