Java

[ java ] 추상클래스( abstract class )

JooKit 주킷 2021. 2. 7. 14:12
목차 접기
728x90
반응형
int add(int x, int y) {
  return x + y;
}
  • {} 안의 내용이 함수 몸체(구현부: implementation)

추상 함수 : abstract function

  • 아래와 같이 구현부가 없는 함수

    abstract int add(int x, int y);
  • 자바에서 추상 메서드는 abstract 예약어를 사용하여 선언만 하는 메서드이다.

추상 메서드

  • 추상 메서드가 있는 클래스는 추상 클래스여야 한다.
  • 그러지 않으면 오류 발생.

추상 클래스의 추상 메서드 구현부가 없는 이유

  • 하위 클래스에 따라 구현이 달라질 수 있다.
  • 추상 메서드의 구현에 대한 책임을 상속받는 클래스에 위임한다.
  • 하위 클래스마다 다르게 구현할 메서드는 추상 메서드로 선언해두는 것이다.

추상 클래스를 상속받는 클래스에서 해야하는 일

package beginJava;

public class DeskTop extends Computer {

    @Override
    public void display() {
        // TODO Auto-generated method stub
    }

    @Override
    public void typing() {
        // TODO Auto-generated method stub

    }
}
  • 추상 메서드를 모두 구현하거나 클래스를 추상 클래스로 만들거나 둘 중 하나를 해주어야 한다.
  • 즉 추상 클래스를 상속받은 하위 클래스는 구현되지 않은 추상 메서드를 모두 구현해야 구체적인 클래스가 된다.
728x90
반응형
LIST