티스토리 뷰

Java

자바 추상클래스, 추상메소드

deerfrd 2017. 2. 6. 13:09


추상클래스는 인터페이스와 비슷한 역할을 한다.

추상클래스는 추상메소드를 하나라도 포함하면 추상클래스라고 하는데,

추상메소드든 클래스든 앞에 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;

}

}



댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함