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) 생성 시 초기화에 신경 써야함
'Study > JAVA' 카테고리의 다른 글
[JAVA] 9장 기초적인 자바 클래스 - 기본 제공 라이브러리 (0) | 2012.10.08 |
---|---|
[JAVA] 8장 패키지와 접근제어 첫 번째 (0) | 2012.10.02 |
[JAVA] 6.장 상속과 인터페이스 (0) | 2012.09.11 |
[JAVA] 5장 객체와클래스 -Exception(예외), 메소드 오버로딩, 정적필드, 정적 메소드 (0) | 2012.09.04 |
[JAVA] Chapter5. 객체와 클래스 (0) | 2012.09.03 |