package model;
public class Parent {
public String name;
public int age;
public int money;
public void print(){
System.out.println(name);
System.out.println(age);
System.out.println(money);
}
}
package model;
public class Child extends Parent {
public String hobby;
public void printChild(){
System.out.println(name);
System.out.println(age);
System.out.println(money);
System.out.println(hobby);
}
}
● 파이썬에서 상속은 (부모클래스명), 자바에서 상속은 extends 부모클래스명
package main;
import model.Child;
import model.Parent;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Parent p = new Parent();
p.name = "홍길동";
p.age = 25;
p.money = 10000000;
p.print();
System.out.println();
System.out.println();
Child c = new Child();
c.name = "영희";
c.age = 27;
c.money = 100000000;
c.hobby = "건물사기";
c.printChild();
}
}
● 상속을 받으면 부모클래스에있는 멤버변수와 메소드를 모두 이용할 수 있다!
▷ 메모리 확보 후 생성자를 호출한다◁
1. Child c = new Child(); 코드를 실행하면 Child 클래스로 이동하고, 상속받았다면 부모 클래스인 Parent 클래스로 이동한다..
2. public class Parent {
public String name;
public int age;
public int money;
}
각 변수를 넣을 메모리를 확보한다.
3. Child 클래스로 돌아와 Child 클래스의 멤버변수가 있다면 해당 변수를 넣을 메모리를 추가한다.
4. main함수로 돌아와서 밑에 코드들을 실행하여 각각의 값을 넣는다.
c.name = "영희";
c.age = 27;
c.money = 100000000;
c.hobby = "건물사기";
'Java' 카테고리의 다른 글
메소드 오버라이딩(Method Overriding) (0) | 2023.07.03 |
---|---|
private와 상속 (0) | 2023.07.03 |
생성자 Constructor (0) | 2023.07.03 |
메서드 오버로딩(Overloading) (0) | 2023.07.03 |
Static 변수 (0) | 2023.07.03 |