자바 Day 12

Hyunsu·2023년 4월 2일
0

Today I Learned

목록 보기
12/37
post-thumbnail

객체지향의 마지막 개념인 인터페이스를 다시 공부했다.
인터페이스는 사용 설명서이자 접점이며 상속보다도 다형성 구현에 많이 사용된다.

📝 목차

Chapter 08 인터페이스


Chapter 08 인터페이스

인터페이스

두 객체를 연결하는 역할을 하는 접점이자 사용 설명서라고 할 수 있다.
인터 페이스는 추상 메서드의 집합이며 껍데기 설계도라고 볼 수 있다.

interface 인터페이스이름 {
	public static final 타입 상수이름 =;
    public abstract 메서드명(매개변수명);
}

인터페이스는 다음과 같이 구현할 수 있으며 모든 추상 메서드를 구현해야 한다.
한 개라도 구현하지 않을 경우 abstract 키워드를 작성한다.

class Fighter implements Fightable {
	public void move(int x, int y) { ... }
    public void attack(Unit u) { ... }
}

인터페이스 장점

인터페이스는 선언과 구현을 분리시켜 유연하며 변경에 유리하다.
또한 표준화가 가능하고 서로 관계가 없는 클래스들의 관계를 맺어줄 수 있다.

class A {
	public void methodA(I i) {
    	i.methodB();
    }
}

interface I { void methodB(); }

class B implements I {
	public void methodB() {
    	System.out.println("methodB()");
    }
}

class C implements I {
	public void methodB() {
    	System.out.println("methodB() in C");
    }
}

class InterfaceTest {
	public static void main(String[] args) {
    	A a = new A();
        a.methodA(new B()); // a.methodA(new A());
    }
}

Reference

profile
현수의 개발 저장소

0개의 댓글