추상 클래스
22편. 인터페이스(Interface)
22편. 인터페이스(Interface)
2012.08.23인터페이스(Interface) 인터페이스는 우리가 전 편에서 본 추상 클래스와 매우 흡사합니다. 인터페이스는 추상 클래스처럼 추상 메서드를 멤버로 가지며 인터페이스도 마찬가지로 인스턴스화 할 수 없습니다. 하지만 아래와 같은 차이점이 있습니다. 인터페이스 내에 선언된 메서드는 public abstract로 선언됩니다. 인터페이스 내에 선언된 변수는 public static final로 선언됩니다. 이와 다르게 추상 클래스는 정적이 아닌 필드, final이 아닌 필드를 선언할 수 있습니다. 인터페이스에는 생성자가 없습니다. 추상 클래스는 extends 키워드를 통해 다른 클래스를 상속받거나 인터페이스를 구현할 수 있지만, 인터페이스는 extends 키워드로 오로지 인터페이스만을 상속받을 수 있습니다. 인터..
21편. 추상 클래스(Abstract Class)
21편. 추상 클래스(Abstract Class)
2012.08.21추상 클래스(abstract class) 추상 클래스는 abstract 키워드로 선언된 불완전한 클래스를 말합니다. 추상 클래스는 인스턴스화 할 수는 없으나, 추상 클래스를 상속받는 자식 클래스의 인스턴스화는 가능합니다. 추상 클래스를 선언하는 방법은 다음과 같습니다. abstract class 클래스명 { // ... } 추상 클래스는 클래스처럼 생성자를 가질 수 있으며 인스턴스 메서드나 정적 메서드를 멤버로 가질 수도 있습니다. 이어서 추상 클래스의 특징과 추상 메서드를 함께 살펴보도록 하겠습니다. 추상 메서드(abstract method) 추상 메서드도 마찬가지로 abstract 키워드로 선언된 메서드를 말합니다. 추상 메서드는 아래와 같이 메서드 본문이 없습니다. abstract class 클래스..