예제를 통한 상속의 이해 (Main 클래스 , Animal )Backend/java2018. 8. 8. 19:50
Table of Contents
반응형
package day08;public class Animal {String kind = "동물의 종류"; // 동물의 종류가 나오기전에 임시적으로 null값으로 선언되어 있다.public Animal() { // 기본 생성자의 형태 super 생략된 형태System.out.println("Animal() call");}public Animal(String kind) { // Super 생략된 형태this.kind = kind;}public void breath() // 메소드의 선언부{System.out.println("폐로 숨쉬기.");}public void Print(){System.out.println("*** Animal ("+kind+"정보) ***");}/** public static void main(String[] args)* { //Animal a = new Animal(); // 여기서 a는* 클래스인데 a의 시작주소가 클래스 Animal을 가르킬 것이다.* System.out.println(); } }// 괄호가 닫히고 열렸는지* 제대로 .. 컴파일 시 JVM은 이것을 확인한다.*/}class Dog extends Animal {String kind = "강아지 종류";String name;String name2;public Dog() {// super(); // 이 문장이 생략되어 있을 텐데 , 여기에는 부모 기본 생성자를 들렸다가 이 문장이 실행되는 것을 확인할 수 있다.// System.out.println("Dog() call");}/** public String superkind() // 이 메서드는 super.kind를 리던해 주는 메서드 { return* super.kind; }*/public Dog(String kind, String name) {// super("강아지"); // First state에만 위치 할 수 있다.this.kind = kind;this.name = name;}public Dog(String kind, String name, String name2) {// super("강아지"); // First state에만 위치 할 수 있다.// super(name2) : 여기서 생각할 수 있는게 어차피 부모클래스를 한번 갔다 와야 하기 때문에 한번에 설정할 경우 이코드를 사용한다.this.kind = kind;this.name = name;this.name2 = name2;}@Overridepublic void Print() {super.Print();System.out.printf("Dog[%s %s] %n", kind, name);// 이때 kind는 상속받은 Animal의 kind를 의미하며 , 다른 kind 는 this 가 생략되어 있는 형태이다.}}
반응형
'Backend > java' 카테고리의 다른 글
this와 Super의 예제를 통한 이해 (0) | 2018.08.08 |
---|---|
예제를 통한 상속의 이해5 (0) | 2018.08.08 |
예제를 통한 상속의 이해4 (0) | 2018.08.08 |
예제를 통한 상속의 이해3 (0) | 2018.08.08 |
예제를 통한 상속의 이해2 (0) | 2018.08.08 |
@IT grow. :: IT grow.
#IT #먹방 #전자기기 #일상
#개발 #일상