티스토리 뷰
추상클래스는 인터페이스와 비슷한 역할을 한다.
추상클래스는 추상메소드를 하나라도 포함하면 추상클래스라고 하는데,
추상메소드든 클래스든 앞에 abstract를 붙여주면 된다.
public abstract class A { public abstract String getName(); // 추상메소드도 인터페이스의 메소드와 마찬가지로 구현부가 없다. } |
그렇다면 저 구현부가 없는 getName() 메소드를 어디서 구현해줘야 할까?
답은 인터페이스와 같다. 인터페이스는 해당 인터페이스를 implements 하는 클래스에서 메소드의 구현을 해주듯이, 추상클래스도 자신을 상속받는 클래스에서 추상클래스의 구현을 해주면 된다.
public class B extends A { public String getName() { return this.name; } } |
추상클래스에서는 일반 메소드 (추상메소드가 아닌 메소드) 도 선언 가능하다.
public abstract class A { public abstract String getName(); public boolean isOk() { return true; } } |
'Java' 카테고리의 다른 글
자바 접근제어 private와 public 구체적인 예 (0) | 2017.02.06 |
---|---|
메소드에 변수값을 전달 vs 객체 자체를 전달 (0) | 2017.02.06 |
자바 인터페이스와 상속 정리 (0) | 2017.02.06 |
접근제어자 (0) | 2017.02.06 |
자바의 생성자 (constructor) (0) | 2017.02.06 |
댓글