[JAVA] 인터페이스(Interface)란?

[JAVA] 인터페이스(Interface)란?

728x90

인터페이스

앞으로 만들 클래스의 메소드 규격을 선언해주는 것

클래스의 메소드 형식을 미리 선언하고, 인터페이스를 이용해(implements) 만드는 클래스는 인터페이스의 메소드 를 정의해야 함.

특정 클래스에 어떠한 기능이 있을지 미리 파악 가능.

클래스의 기능이 너무 많고, 구획화를 할 필요가 있을 때 인터페이스 이용.

협업을 할 때, 서로 공통적으로 적용해야 할 규격이 있을 때 이용.

인터페이스의 규칙

1. 인터페이스의 이름은 클래스와 마찬가지로 보통 첫 글자를 대문자로 만들며,

"~를 할 수 있는" 것들의 규격이라는 의미로 형용사의 이름을 붙이기도 함.

2. 클래스를 상속할 때는 하나의 클래스로부터 상속받을 수 있는 것과 대조적으로 인터페이스는 여러 개를 모두 적용할 수 있음. (주의: 적용한 인터페이스들의 메소드를 모두 구현해야 함.)

3. 인터페이스에는 초기화 된 변수를 정의할 수 있고, 인터페이스를 적용한 클래스는 변수를 재할당 할 수 없음.

각각의 인터페이스 특성에 맞춰 구현한 클래스와 객체를 생성한 예시는 다음과 같다.

interface Calculable { double PI = 3.14; int sum(int v1, int v2); } interface Printable { void print(); } class RealCal implements Calculable, Printable { public int sum(int v1, int v2) { return v1 + v2; } public void print() { System.out.println("this is RealCal!!!"); } } class AdvancedPrint implements Printable { public void print() { System.out.println("This is RealCal!!!"); } } public class interfaceApp { public static void main(String[] args) { Printable r = new RealCal(); Printable r2 = new AdvancedPrint(); r.print(); r2.print(); } }

반응형

from http://6ro-29.tistory.com/32 by ccl(A) rewrite - 2021-12-28 04:28:18