추상 클래스와 인터페이스

추상 클래스는 인스턴스화 될 수 없고 일반적으로 하나 이상의 순수 가상 함수를 가지는 클래스로 구현된다.

순수 가상 함수는 모든 파생된 구상 클래스(concrete class)에서 구체적인 동작이 정의되어야 하는 함수의 선언으로 멤버 함수에 "=0"과 함께 선언하여 표시한다.

일반적으로 추상 클래스는 구현해야 할 것들을 정하고 구상 클래스에서 이를 상속하기 위해 사용된다. 클래스가 순수 가상 함수만을 가지고 있을 경우에 순수 추상 클래스 혹은 인터페이스라고 부른다. C++에서는 인터페이스라는 개념이 순수 추상 클래스에 상응하고 따로 정의 하지는 않는다. Java에서는 interface라는 키워드를 사용해서 순수 추상 클래스를 정의할 수 있다.

객체지향 프로그래밍에서 가상 함수는 동작의 다형성을 제공하기 위해 상속된 클래스에서 동일한 특징을 사용하여 동작을 오버라이드 할 수 있는 함수를 말한다.

Interface 키워드는 모든 함수 혹은 메소드의 구현을 방지함으로써 한층 더한 추상 클래스 개념을 취한다. 함수 혹은 메소드를 선언할 수 있으나 구현은 하지 못한다.

댓글

이 블로그의 인기 게시물

실내공간 표준안 IndoorGML의 개념 및 활용(이기준, 이지영)('13.06.24 심사완료) 정리.

플랫폼과 에코시스템