프로그램 언어 : 순차적 랭귀지. 순차적으로 처리한다.
<상속>
물려받은 자식 클래스가 부모껄 다 가져다 쓸 수 있다.
부모는 자식껄 못가져다 쓴다.
자식이 두명의 부모를 가질 순 없음.
자바는 다중상속이 불가능하다. (=extends 뒤에 두개의 부모가 선언될 수 없다는 말)
this. 대신 super(); 를 쓴다고 보면 됨.
<Parent>
package oop.inhe;
public class Parent {
int age = 10;
public Parent() {
System.out.println("부모 기본생성자 호출");
}
public Parent(int age) {
System.out.println("부모 생성자 호출 : "+ age);
}
void parentMethod() {
System.out.println("부모 메소드가 실행됨");
}
}
<Child>
package oop.inhe;
public class Child extends Parent{
String play;
public Child() {
super(60);
System.out.println("자식1 기본생성자 호출");
}
public Child(String s) {
super(20);
play = s;
}
void play() {
System.out.println(play + "아싸~ 주말이다~!!!");
}
}
<Child2>
package oop.inhe;
public class Child2 extends Parent {
String speak;
public Child2() {
super();
System.out.println("자식2 기본생성자 호출");
}
public Child2 (String s){
super(15);
this.speak = s;
}
void speak( ) {
System.out.println(speak + "라고 말한다");
}
}
<ChildMain>
package oop.inhe;
public class ChildMain {
public static void main(String[] args) {
Child c = new Child("불금이네~");
c.play();
c.parentMethod();
System.out.println("---------------------");
Child d = new Child();
System.out.println("---------------------");
Child2 e = new Child2("열공하자~");
e.speak();
System.out.println("---------------------");
Child2 f = new Child2();
}
}
<Console>
부모 생성자 호출 : 20
불금이네~아싸~ 주말이다~!!!
부모 메소드가 실행됨
---------------------
부모 생성자 호출 : 60
자식1 기본생성자 호출
---------------------
부모 생성자 호출 : 15
열공하자~라고 말한다
---------------------
부모 기본생성자 호출
자식2 기본생성자 호출
'JAVA' 카테고리의 다른 글
<JAVA_PreClass_231024화> (2) | 2023.10.24 |
---|---|
<JAVA_PreClass_231023월> (2) | 2023.10.23 |
<JAVA_PreClass_231019목> (0) | 2023.10.19 |
<JAVA_PreClass_231018수> (2) | 2023.10.18 |
<JAVA_PreClass_231017화> (0) | 2023.10.17 |