햄찌개

Java 11일차 객체지향의 재사용 본문

초급 JAVA

Java 11일차 객체지향의 재사용

햄찌개 2020. 8. 27. 20:09

1. 상속(~~은 ~~이다.) : is a
       - 기존의 클래스를 재사용하여 새로운 클래스를 만든다.
       - 적은양의 코드로 새로운 클래스를 작성할 수 있다.
       - 새로 작성하고자 하는 클래스의 뒤에 상속 받고자 하는 클래스를 키워드 'extends'와 함께 써주기만 하면 된다.
              class Child extends Parents {
              }
       - 상속을 해주는 클래스를 '조상클래스' 상속을 받는 클래스를 '자손클래스'라고 부른다.
              : 조상클래스 - 상위클래스, 부모클래스, 기반클래스
              : 자손클래스 - 하위클래스, 자식클래스, 파생클래스
       - 상속을 받을때는 멤버만 상속받는다.
       - 항상 자손클래스가 부모클래스보다 같거나 크다.

 

 

 

2. 포함 (~~은 ~~을 포함하고 있다.) : has a 
       - 상속이외에 클래스를 재사용하는 방법.
       - 자손클래스의 멤버변수로 다른클래스를 선언하는 방법

 


3. toString()
       - 인스턴스와 정보를 제공할 목적으로 사용된다.
       - 참조변수를 출력하면 참조변수가 가르키고 있는 인스턴스의 toString()를 호출한다.

 

 

 

4. 단일상속 
       - 자바에서는 단일상속(두개이상불가)만 가능하다.
       - class TVCR extends TV, VCR{ //허용하지 않는다.
              }
              - Tv와 VCR에 동일한 메서드가 존재 한다면 어떤 메서드를 상속받는지 알수 없다.
              - Tv의 메서드 명을 변경한다면 그 동안 사용해온 모든 곳을 수정해주어야 한다.
              - 클래스 간의 관계가 명확하다.

 

 

5. Object 클래스 : 모든 클래스의 최상위 클래스이다.
       - 다른 클래스를 상속받지 않는 클래스는 Object클래스를 상속받는다.    

      - 모든 클래스는 Object 클래스를 상속받게 되어있다.

       class A extends Object{ 

              }

       - toString(), equals()를 사용할 수 있는 것은 Object클래스의 메서드 이기 때문이다.

 

 

6. 오버라이딩 (overriding)
       - 조상 클래스로 부터 상속받은 메서드의 내용을 재정의 하는 것.
       - 오버라이딩이 되기 위한 조건 : 선언부가 동일하면 된다.
              : 메서드명이 동일 
              : 메개변수의 갯수와 타입이 동일
              : 반환 타입이 동일
       - 부모클래스로부터 상속받는 자손클래스의 
              : 접근제어자는 부모보다 좁은 범위로 설정할 수 없다.
              : 예외의 갯수는 부모보다 많이 선언할 수 없다.
              제어자 void method() 예외처리 {
              }

 

 

7. super
       - 조상클래스의 멤버와 자손클래스의 멤버가 중복정의되어 있을때 구분할 목적으로 사용된다.
       - 조상의 멤버와 자손의 멤버를 구분한다는 점을 제외하고는 this.과 동일 하다.

 

 

8. super() : 조상 클래스의 생성자를 의미
       - this()와 마찬가지로 super()도 생성자 호출이다.
       - this()는 같은 클래스 내에서 다른 생성자를 호출 할 때 사용한다.
       - super() 자손클래스의 생성자 내에서 부모클래스의 생성자를 호출 할 때 사용한다.
       - this()와 super()은 둘다 첫줄이라 같이 사용 불가.