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 |