본문 바로가기
Start/JAVA

자바 객체, 상속 개념 정리(예시)

by cogito-new 2022. 9. 12.

클래스 구성 요소 : 1) 필드(속성)  2) 생성자 3) 메소드

ex) Book 이라는 책과 관련된 클래스를 만들고 상속을 통해 개념을 정리

책을 여러가지 다양한 종류가 있겠지만 공통적인 책 분류(type)과 index(바코드 넘버)를 가지고 있다.

1) 필드(속성) 에서 사용할 Book의 공통적인 특성을 정의한다.

2) 생성자 를 통해서 type, index 변수를 사용하는 객체를 만든다.

-this .  type : 이 객체가 가지고 있는 type 변수는 "--"으로 초기화한다.

-this . index : 이 객체가 가지고 있는 index 변수는 "경제"로 초기화한다.

3) 메소드 : read() 라는 메소드가 실행되면 책을 읽고있는 상태가 된다. (출력)

 


자식 클래스도 마찬가지로 1) 필드 2) 생성자 3) 메소드를 가진다.

(*상속을 위해서 class Economy extends Book 처럼 extends를 사용한다. Book을 확장한 것이 Economy이다.)

1) 부모 클래스에서 확장이 되었으므로, 자식 클래스에는 책의 이름과 가격 필드를 추가로 정의하고

2) 생성자를 통해 객체를 만들 때, 이름, 가격을 입력값으로 받도록 지정한다.

3) super(); 를 사용해서 부모 클래스의 생성자를 명시적으로 호출한다. (쓰지 않아도 자동으로 컴파일러가 생성해준다.)

(생성자에서 Economy() 와 Economy(String name, int price)를 통해서 오버로딩한다.)

(*오버로딩 : 생성자도 호출 메서드이기 때문에 메서드에 해당. 메서드의 타입, 변수명 등을 다르게 해서 같은 이름의 메서드를 여러개 재정의 할 수 있는 방법)

4) readB, readC라는 메서드를 정의한다.


실행시키면 다음과 같은 결과가 나온다.

1)Book (부모) 객체를 생성하고 Book 객체의 메서드를 우선 실행함 -> 책을 읽습니다.

2)삼국지, 30000이라는 입력값으로  상속받은 클래스(Economy)의 생성자 중, 입력 인수를 지정했던 생성자를 통해 객체 를 생성한다.

(자식 calss = new 자식 class ( ), 이렇게 된 경우, 자식클래스에는 없고 부모클래스에만 있는 필드(속성) 이라도 자식 클래스에서 사용이 가능하다.-> 상속)

3) 부모 클래스의 type, index 가 우선 출력된다. 이는 부모 클래스 생성자에서 초기화된 값이 출력된 것이다.

4) 자식 클래스의 객체를 생성할 때 초기화한 값, 삼국지와 30000이 출력되어 나온다.

반응형

'Start > JAVA' 카테고리의 다른 글

익명 자식 객체 (Java) 3가지 사용 방식 정리.  (0) 2022.09.14
클래스 생성자.  (0) 2022.09.12
Method 작성 방식 정리.  (0) 2022.09.07
이클립스 단축키.  (0) 2022.08.28
Java JDK 설치  (0) 2022.08.22