추상 클래스
추상 클래스
추상 클래스는 상속 관계에서 추상화된 클래스들을 구현하기 위해 지원하는 형태이다. 추상 클래스를 이용하여 상속 구조를 조금 더 효율적이고 빠르게 구현할 수 있다.
추상 클래스의 형태
추상 클래스는 일반 클래스와 다르게 추상(abstract) 키워드를 표시해야 한다.
Phone.java
추상 클래스는 일반 클래스와 다르게 다음의 항목을 가질 수 있다.
추상 메소드(abstract method)
추상 클래스는 일반 클래스와는 다르게 다음 역할을 수행할 수 없다.
객체 생성
추상 메소드
추상 메소드는 기능에 대한 형태만 정의하고 세부 내용을 정의하지 않는 메소드를 말하며, 공통적으로 존재해야 하지만 내용은 다를 수 있는 기능을 상위클래스에 정의할 때 사용한다. 모든 전화기에 전화 기능이 있어야 하지만 어떤 형태로 구현되어야 할 것인지는 각각의 제품마다 다르다고 할 때 Phone 클래스를 만들어 추상 형태로 전화(call) 기능을 만들 수 있다.
Phone.java
추상메소드는 추상(abstract) 키워드를 붙여야 하며, 코드 블록을 가질 수 없다. 이러한 추상 메소드는 일반 클래스가 상속받을 경우 반드시 재정의(Override)를 수행해야 한다.
추상 클래스의 상속
추상 클래스 역시 클래스이므로 extends
키워드를 이용하여 상속받는다.
상속을 받으면 추상 메소드에 대한 재정의를 요구하는 오류가 발생하며, 이를 해결하기 위해 추상 메소드인 call() 을 재정의한다. 추상 클래스를 이용하면 문법적으로 메소드 재정의를 강요할 수 있기 때문에 일관성 유지와 개발 속도 향상에 도움이 된다.
Last updated