예제를 통한 상속의 이해Backend/java2018. 8. 8. 19:40
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' 카테고리의 다른 글
예제를 통한 상속의 이해3 (0) | 2018.08.08 |
---|---|
예제를 통한 상속의 이해2 (0) | 2018.08.08 |
내가 오버라이딩을 잘 했는지 궁금할 때 (0) | 2018.08.08 |
this 와 Super의 차이점 (0) | 2018.08.08 |
생성자의 정의와 특징2 (0) | 2018.08.08 |
@IT grow. :: IT grow.
#IT #먹방 #전자기기 #일상
#개발 #일상