[Java] 인터페이스

SmileJun·2025년 8월 17일

Java

목록 보기
7/8

순수 추상 클래스(모든 메서드가 추상 메서드인 추상 클래스)를 더 편리하게 사용할 수 있는 기능

순수 추상 클래스 예시
public abstract class AbstractAnimal {
	public abstract void sound();
	public abstract void move();
}

인터페이스

public interface InterfaceAnimal {
	public abstract void sound();
	public abstract void move();
}

인터페이스의 구성 요소

  • 상수 : public만 허용, public static final 생략

  • 추상 메서드 : public abstract 생략 가능

  • default 메서드 : 인터페이스에 코드가 작성된 메서드, 인터페이스를 구현하는 클래스에 자동 상속

  • private 메서드 : 인터페이스 내에 메서드 코드가 작성되어야 함

  • static 메서드 : public, private 모두 지정 가능

인터페이스의 특징

  • 인터페이스의 객체 생성 불가하다

  • 인터페이스 타입의 레퍼런스 변수 선언 가능하다

  • 다른 인터페이스 상속 가능하다

  • 인터페이스의 다중 상속이 가능하다

인터페이스 구현

  • 인터페이스의 추상 메소드를 모두 구현한 클래스를 작성한다.

  • implements 키워드를 사용한다

  • 여러 개의 인터페이스를 동시에 구현 가능하다

구현 예시
class SamsungPhone implements PhoneInterface {
	// PhoneInterface의 모든 메서드 구현
}

인터페이스 상속

  • extends 키워드를 사용한다

  • 다중 인터페이스 상속이 가능하다

상속 예시
interface MP3Interface {
	void play();
    void stop();
}

interface MusicPhoneInterface extends MobilePhoneInterface, MP3Interface {
	void playMp3RingTone();
}
profile
하루하루는 성실하게, 인생 전체는 되는대로

0개의 댓글