:::: 개발 ::::/::: JAVA :::

JAVA 인터페이스 개념 정리

nayha 2011. 3. 11. 15:17


JAVA 인터페이스 개념 정리

스펙을 구현? 큰 그림

interface 상호간 마주본다
외부에서 볼 수 없는 private 접근제한
선언된 변수는 한쪽에서 일방적으로 변경할수없으므로
서로 마주 봐야하기때문에
public static final(상수) 로 선언된다.

무엇을 위해 존재할까?

다형성을 적용하고 싶을때

interface는 스펙(표준)을 정할때 사용한다.


뭐 먹을래??

돈까스(객체) --> 클래스
 
따듯한 국물 (스펙) --> 인터페이스


implements -> 구현한다

전혀 다른 데이터와 로직을 가진 클래스가 하나의 타입으로

override 효과를 노리면서도 여러 종류의 객체를 사용할수있음

상속처럼 모든 코드를 물려주지 않는다.

필요한것만 가져올수있음
단 실체는 아니다 메타,타입,스펙이라 이해(객체가 아니다)

실체 객체를 감춘다

 

ex) 소스

public interface Greeting {

 public void sayHello();

 public void sayGoodbye();

}


public class Korean implements Greeting {

 @override
 public void sayHello(){
  system.out.println("하이");
 }
 @override
 public void sayGoodbye(){
  system.out.println("하이");
 }

}

public class American implements Greeting {

 @override
 public void sayHello(){
  system.out.println("hi");
 }
 @override
 public void sayGoodbye(){
  system.out.println("bye");
 }

}

반응형