블로그 이미지
LanSaid

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Recent Post

Recent Comment

Recent Trackback

Archive

2012. 9. 17. 16:37 Study/JAVA

* 자바에서는 클래스의 다중 상속(다중 extends)을 허용하지 않음. 단, 다중 인터페이스 구현은 가능
ex> class A detends B implements C,D
-> A클래스는 B를 상속받고 C,D의 인터페이스를 받아와서 구현한다.

-클래스의 메소드가 모두 abstract(추상)될 경우 클래스명에 interface 키워드를 쓰면 구성 메소드에 abstract를 안붙여도 된다.
- 이 클래스를 상속(실제로는 구현)받을때는 extends가 아닌 implements 키워드를 사용한다. -> 상속이 아닌 빈 내용을 구현한다는 개념
- 이 상속의 개념은 인터페이스라는 가이드라인(디자인)을 받아와서 구현하겠다는 의미. 구현을 할 수 없으면 implements 키워드를 사용할 수 없음.

영장류 <- 포유류 <- 인간

interface 영장류
{
}

interface 포유류 extends 영장류
{
}

class 인간 implements 포유류
{
}

- 클래스와 인터페이스간  관계
 1) 클 extends 클 -  상속 . 일반 클래스는 추상메소드가 없으므로 확장의 개념
 2) 인 extends 인 - 상속(확장). 인터페이스의 추상메소드를 구현하는 내용이 없으므로 확장의 개념
 3) 클 implements 인 - 구현. 일반 클래스가 인터페이스의 추상메소드를 오버라이딩해서 구현할 수 있으므로 구현의 개념

- 인터페이스내 멤버 변수는 상수만 쓸 수 있다.
 1) 따라서 멤버 변수 변경 불가
 2) 생성 시 초기화에 신경 써야함
posted by LanSaid