추상 클래스, 인터페이스

Rudy·2023년 5월 24일
0
  • 추상 클래스는 하나 이상의 추상 메소드를 갖는 클래스이다.
  • 상속 관계에서 부모 클래스의 역할을 갖기 위한 클래스이며 추상 메소드와 일반 메소드를 가질 수있다.
  • 추상 메소드는 메소드의 몸체가 없는 메소드이며ㅑ 자식 클래스에서 재정의 하도록 하기 위한 메소드이다.
  • 추상 클래스는 new 동적 할당자를 통해 인스턴스 객체를 만들 수 없다.
public abstract class Shape {
    private String type;

    public Shape(String type) {
        this.type = type;
    }
    
    public abstract  void  draw();
    
}

public class AbstractAssist{
    public static void  main(String[] args){
        Shape shape = new Shape();
        //오류가 난다
    }
}

인터페이스

  • 인터페이스는 일반적으로 추상 메소드만 가지며 interface 키워드를 이용해 정의
  • 특정 클래스가 인터페이스를 구현하기 위해서는 implements 키워드를 통해 구현
  • 상속과 달리 인터페이스는 하나의 클래스가 둘 이상의 인터페이스를 동시에 구현 가능하다.
  • 인터페이스를 통해 설계와 구현을 완전히 분리할 수 있다.
public interface IBehavior {
    public abstract void play();
    //생략가능
}

public class Soccer extends Sport implements  IBehavior{
    @Override
    public void  play(){
        System.out.println("안녕하세요@@!!");
    }
}
profile
주니어 개발자

0개의 댓글