본문 바로가기
Java

추상클래스, 인터페이스

by asd135 2024. 5. 23.
728x90

추상 클래스는 추상 메서드를 포함하는 클래스로 직접 객체를 생성할 수 없는 클래스이다.

 

특징

  • 추상 클래스는 객체를 생성할 수 없다.
  • 추상 클래스를 상속받는 자식 클래스는 추상 메서드를 구현해야 한다.
  • 추상 클래스에는 추상 메서드와 일반 메서드가 올 수 있다. 일반 메서드인 경우 자식 클래스에서 무조건 재정의 할 필요는 없다.

 

기본 형태

abstract class name {
	abstract public void A();
    public void B(){
    	System.out.print("BB");
    }
}

 

인터페이스

특징

  • 필드에 static 변수만 올 수 있다.
  • 추상 메서드 올 수 있음(public abstract 생략가능)
  • 인터페이스간 다중 상속가능
  • implements 키워드 사용하여 인터페이스 구현가능

 

default 메서드: 인터페이스에 코드가 작성된 메서드(키워드 생략가능)

private 메서드: 인터페이스에 있는 다른 메서드에 의해서만 호출가능

 

 

interface PhoneInterface {
    int TIMEOUT = 10000; // 상수필드선언
    void sendCall(); // 추상메서드
    void receiveCall(); // 추상메서드
    default void printLogo(){ // default 메서드
        System.out.println("phone");
    }
}

class phone implements PhoneInterface {
    public void sendCall() {
        System.out.println("벨소리");
    }

    public void receiveCall(){
        System.out.println("전화옴");
    }
}


public class test {

    public static void main(String[] args) {

        PhoneInterface p = new phone();
        p.printLogo();
        p.sendCall();
        p.receiveCall();
        
    }
}

 

 

 

'Java' 카테고리의 다른 글

Java 어노테이션  (0) 2025.04.06
자바 클래스  (0) 2024.06.17
상속  (0) 2024.05.02
자바에서 메소드 내부에 메소드를 못 만드는 이유  (1) 2023.10.19