인터페이스

Lee·2023년 7월 25일

인터페이스는 객체 지향 프로그래밍의 특징을 활용할 수 있도록 기능을 제공한다.

다형성

인터페이스는 추상 메서드를 지니고 있으며 메서드의 구현은 인터페이스를 사용하는 구현체에서 구현하도록 하기 때문에 아래 코드의 예시처럼 다른 클래스에서 같은 이름의 메서드를 사용할 수 있다.

interface control {
	void on();
    void off();
}

class TV implements control{
	@Override
	void on() {
    	System.out.println("TV 동작"):
    }
    
    @Override
	void off() {
    	System.out.println("TV 종료"):
    }
}

class Computer implements control{
	@Override
	void on() {
    	System.out.println("컴퓨터 동작"):
    }
    
    @Override
	void off() {
    	System.out.println("컴퓨터 종료"):
    }
}

추상화

인터페이스는 추상 메서드를 통해 설계도만 정의하고 구현은 인터페이스를 사용하는 구현체에 맡겨 확장의 편의성과 유연성을 제공한다.

캡슐화

인터페이스는 외부에 노출할 메서드들을 공용 인터페이스로 사용해 클라이언트에서 접근 가능한 메서드를 분류할 수 있다.

상속

인터페이스도 extends를 통해 인터페이스를 상속받을 수 있다.

profile
발전하고 싶은 백엔드 개발자

0개의 댓글