Programming/Java

[Java] 추상 클래스

yh_126 2021. 1. 22. 18:02
반응형

클래스 안에 일반 메소드도 정의 할 수 있으나 인터페이스는 추상 메소드만 정의 할 수 있다.

 

1. 추상 메소드

    메소드 정의부만 존재하고 메소드를 구현하지 않은 형태의 메소드를 의미

    → 메소드 이름 뒤에 구현부 " { } " 가 없는 메소드

abstract 리턴타입 메소드이름();
abstract void abstractMethodName();

 

 

2. 인터페이스

   - 특정 형태의 클래스들이 사용 할 수 있는 메소드 명세를 정의
     추상 클래스와 비슷하지만 오직 상수나 추상 메소드만 정의 할 수 있다.
     →  인터페이스 안에서 추상 메소드를 정의 할 때는 abstract 예약어를 생략 가능 ( 자동으로 public abstract 가 지정된다. )
     상수를 정의 할 때에도 자동으로 public static final 이 지정 되므로 해당 예약어를 생략 할 수 있다.

interface 인터페이스이름 {
    상수;
    추상 메소드;
}
interface InterfaceName{
    int number = 1;
    void abstractMethod();
}

   - 추상 클래스 처럼 인터페이스를 이용해 객체를 생성 할 수 없다.
     특정 클래스가 구현한 후 구현 클래스 객체를 통해 사용, 인터페이스를 구현할 때는 implements 예약어를 사용한다.

 

 

   - 자바는 단일 상속만 지원한다. 
     클래스가 이미 다른 클래스를 상속 받았으면 인터페이스를 implements 해서 다른 기능을 사용할 수 있다.

ClassName1 extends ClassName2 implements InterfaceName{

}

   - 인터페이스 간의 상속도 가능하다.  또한 클래스에서 허용하지 않던 다중 상속도 인터페이스에서는 허용된다.

interface I1{

}
interface I2{

}
interface I3 extends I1, I2{

}

오정원. (2019). 꼭 알아야 하는 Java Programming. 경기: 혜지원.

책을 보고 공부한 내용에 제가 이해한 바를 기록한 것입니다.
자세한 사항은 해당 교재를 참고하여 주세요 !

 

반응형