c++ / 1. 추상 클래스란
추상클래스를 다른 말로 하면 순수 가상 함수(Pure Virtual Function)이 존재하는 클래스를 말한다.
순수 가상함수란
virtual 반환형 함수 이름() = 0;
의 형태로 실제 구현부를 현재 클래스에서 정의하지 않고 상속이 되면 자식 클래스에 구현부가 존재한는 역활을 한다.
예시를 보면, 현재 이 상태에서 AbstractClass는 순수 가상 함수를 갖고 있는 추상클래이스이고
Test는 추상 클래스를 상속받아서 순수 가상함수를 구현한 구현부이다.
여기서 1과 2를 둘 중 하나씩만 주석처리하면서 테스트를 해본다.
우분투에선
$ g++ virualClass.cpp -o a.out
$ ./a.out
따라서 두 경우를 비교해보면 추상클래스와 순수 가상 함수의 관계, 그리고 특징을 이해할 수 있을 것이다.
마지막으로 정리하자면
순사 가상 함수가 하나라도 있다면 구현부가 존재하지 않으므로 객체를 생성할 수 없다.
이러한 클래스를 추상 클래스라고 부른다.
끝. c++ / 1. 추상 클래스란
'소프트웨어 > c++' 카테고리의 다른 글
c++ / 6. 복사 생성사란. (+ 대입 연산자 오버로딩) (0) | 2014.09.23 |
---|---|
c++ / 5. template를 사용해서 array만들기. - 1탄 (0) | 2014.09.17 |
c++ / 4. inner struct, 클래스 속에 struct를 생성한 후 struct를 통해 값 전달하기 (0) | 2014.08.27 |
c++ / 3. 집합 관계 ( on composition & aggregation ) (0) | 2014.08.14 |
c++ / 2.오파큐 타입이란 ( What does the term “opaque type"? ) (1) | 2014.08.13 |