java) 인터페이스(Interface)

박우영·2023년 2월 26일
0

인터페이스(Interface) 란?

간단하게 설명하면 추상클래스와 비슷하지만 상속을 1개밖에 못하는 클래스와 다르게 다중 상속이 가능하다.

class Main {
	public static void main(String[] args) {
		사람 a사람 = new 홍길동();
		변호사 a변호사 = (변호사)a사람;
		치과의사 a치과의사 = (치과의사)a사람;
		성화봉송자 a성화봉송자 = (성화봉송자)a사람;
	}
}

abstract class 사람 {
}

class 홍길동 extends 사람 implements 변호사, 치과의사, 성화봉송자 {
}

interface 변호사 {
}

interface 치과의사 {
}

interface 성화봉송자 {
}

특징으론)

  • 다중 상속 가능

-> 인터페이스는 껍데기만 존재하여 클래스 상속 시 발생했던 모호함이 없습니다. 고로 다중 상속이 가능합니다.

  • 추상 메서드와 상수만 사용 가능

-> 인터페이스에는 구현 소스를 생성할 수 없습니다. 고로 상수와 추상 메서드만 가질 수 있습니다.

  • 생성자 사용 불가

-> 인터페이스 객체가 아니므로 생성자를 사용하실 수 없습니다.

  • 메서드 오버라이딩 필수

-> 자식클래스는 부모 인터페이스의 추상 메서드를 모두 오버라이딩해야 합니다.

0개의 댓글