Computer Science/Java

Java 벼락치기2

꿈꾸는어린이 2018. 4. 9. 01:49

//

자바 벼락치기 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