자바 벼락치기 2 chap11 ~ chap12
//
상속
기존에 존재하는 유사한 클래스로부터 속성을 물려받고 자신이 필요한 기능을 추가.
class SubClass extends SuperClass
중복을 줄임
다중 상속은 불가
but 인터페이스 이용하여 다중 상속의 효과 가능
수퍼 클래스에서 private으로 정의된 멤버는 접근 못함
메소드 재정의 가능. @Override , public으로 선언되어 있어야 함.
재정의 시 super 키워드로 수퍼클래스 메소드를 호출한 후 필요한 부분 추가 ㅇ
super.print();
재정의 시 매개변수가 없으면 super(); 서브 클래스의 생성자가 호출되기 전에 수퍼 클래스의 생성자가 자동으로 호출됨.
추상클래스
완전하게 구현 x -> 객체 생성 x
주로 상속에서 추상적인 개념을 나타내기 위한 용도
abstract
추상클래스는 항상 ; 로 끝남.
public abstract class Animal {
public abstract void move();
};
서브 클래스에서는 반드시 추상 메소드를 재정의 해야함.
인터페이스
추상 메소들로만 이루어짐, 인터페이스 안의 모든 메소드는 추상 메소드로 간주되므로 abstract 생략 ㅇ
필드는 선언될 수 없다.
인스턴스(객체) 생성 x
public interface RemoteControl{
public void turnOn(); 반환형 추상메소드1();
public void turnOff(); 반환형 추상메소드2();
}
public class Television implements RemoteControl {
public void turnOn(){
//반드시 구현
}
public void turnOff(){
//반드시 구현
}
}
인터페이스는 클래스가 아니므로 new연산자 사용 x
다중 인터페이스 가능
인터페이스는 하나의 '타입' 으로 보아야 함.
다형성
'Computer Science > Java' 카테고리의 다른 글
[JAVA] 스택(Stack)과 큐(Queue) (0) | 2018.04.13 |
---|---|
[JAVA] DFS - 깊이 우선 탐색 (0) | 2018.04.13 |
[JAVA] 인접행렬과 인접리스트 (0) | 2018.04.12 |
[JAVA] BufferedReader 사용하기 (0) | 2018.04.12 |
Java 벼락치기1 (0) | 2018.04.09 |