JAVA

<JAVA_PreClass_231020금>

Technoqueen_X 2023. 10. 20. 13:37
728x90
반응형

프로그램 언어 : 순차적 랭귀지. 순차적으로 처리한다.
 
<상속>


물려받은 자식 클래스가 부모껄 다 가져다 쓸 수 있다.
부모는 자식껄 못가져다 쓴다.
 
자식이 두명의 부모를 가질 순 없음.
자바는 다중상속이 불가능하다. (=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 기본생성자 호출
 

 

728x90
반응형

'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