잡동산이

 

자바의 정석 참고

 

엔지니어..

홍만이 그림을 그려야 하는데 혼자 그리긴 벅차다..
그래서 A사에 맡기려고 한다.
개발자들의 편의를 도와줌..
자바는 다중상속이 안된다..
c++는 다중상속 가능 프로그래머들에게 자유를 주기 위해서 가능하다고 이야기 한다.
아키텍터들은 다중상속이 불필요하다고 이야기 한다.
자바입장에서 다중상속의 효과가 필요하다.

문제의 상황

이름과 주민등록 번호를 저장하는 기능의 클래스가 필요하다.
이 클래스에는 주민등록 번호를 기반으로 사람의 이름을 찾는 기능이 포함되어야 한다.
(어떤 기능의 일부가 필요하다.)

주민등록번호와 이름의 저장 void addPersonalInfo(String perNum, String name)
A 사에게 요구..

주민등록번호를 이용한 검색 String searchName(String Name)
놀수는 없으므로 뭔가를 해야겠다고 생각..

클래스를 하나 정의해야 겠다. 그리고 A사에는 이 클래스를 상속해서 기능을 완성해 달라고 요구하고, 난 이 클래스를 기준으로 프로젝트를 진행해야 겠다.

홍만군의 결과물  ------------------------------------- A사의 결과물
                      PersonalNumberStorage Class(다리 역활)

 

 

 

 


인터페이스의 정의란 매우 중요한것이다.
인터페이스는 상속한다고 하지 않고 구현한다고 한다.
여러개를 상속가능하다..

인터페이스 내에도 변수선언이 가능.. 무조건 public static final로 선언이
되므로 이 둘은 완전히 동일한 의미를 갖는다.

ex )

public class week
{
public static final int MON = 1;
public static final int TUE = 2;
public static final int WED = 3;
public static final int THU = 4;
public static final int FRI = 5;
public static final int SAT = 6;
public static final int SUN = 7;
}
위의 예제를 밑에처럼 줄여주는게 인터페이스의 기능이다.

public interface Week
{
int MON=1, TUE=2, WED=3, THU=4, FRI=5, SAT=6, SUN=7;
}

enum = 열거형 , 어려울 수도 있으므로 Class 부록으로 빼버림... 자바 5.0에서 추가된 것..

자바 interface의 또 다른 가치

Upper가 비어있어도 주소를 참조할 수 있다..

구현한다고 표현만 해둬라.. Marker의 역할.. 이런 경우
인터페이스의 이름은 ~able로 끝나는 것이 보통이다.(표준)
실제로는 인터페이스를 통해서 다중 상속을 하는 것 같이 표현이 되고 있다.

 

'IT Study > Java' 카테고리의 다른 글

자바 리눅스 루프백 아이피를 알아내는 방법  (0) 2014.11.28
스트럿츠 프레임워크  (0) 2014.11.25
재귀 호출  (0) 2012.10.02