본문 바로가기
Java

자바 중급 024. 상속(inheritance) -부모클래스 , 자식클래스 관계(2)

by Smart Factory in 2020 2021. 9. 10.
728x90
반응형

안녕하세요. 스마트 팩토리입니다. 

자바 중급 024. 상속(inheritance) -부모클래스 , 자식클래스 관계(2)에 대해 알아보겠습니다. 

1. 상속(inheritance)

가. 상속 예시 (1)

<<ClassA. java  부모 클래스>>

ClassA부모 클래스를 작성하였습니다. 

package ex01_02inheritance;
public class ClassA {
 int a;
 int b;

ClassA(){ ---> 생성자 
 a=1;
 b=5;
 }  
 }

 

<<ClassB.java 자식 클래스 >>

public class ClassB extends ClassA
를 통해서 ClassB가 자식 클래스 ClassA가 부모클래스가 된 것을 알 수 있습니다.

 

package ex01_02inheritance;
public class ClassB extends ClassA {

 void sum() {
 System.out.println(" 두 수 의 합 : "+ (this.a+this.b));
 }
}

<<ClassC.java 메인 클래스 작성>>

num1의 값은 num1.a 는 부모클래스 값을 받아서 1이 되고 num1.b 값은 객체 생성후 20으로 변경됩니다. 
자식 클래스에서 num1.sum() 메소드에 의해서 두수를 더한 값은 21이 됩니다. 

num2 객체 생성시 부모클래스 값에 의해서 
num2.a=1, num2.b=5가됩니다. 


자식 클래스 classb 에서 num2.sum()에 의해서
두수의 합 6이 됩니다.

package ex01_02inheritance;

public class ClassC {

public static void main(String[] args) {
 ClassB num1=new ClassB();
 num1.b=20;
 num1.sum();
 ClassB num2=new ClassB(); 
 num2.sum();
}

 

나. 상속 예시 (2)

<<classtest.java 클래스 작성>>

ClassA, ClassB, 메인 클래스를 하나의 파일로 작성하였습니다. 

ClassB에서 자식클래스에서  클래스 멤버 b를 선언했습니다. 자동 초기화에 의해서 num2.a=1, num2.b=5이 됩니다. 부모클래스와 자식 클래스가 동일한 변수가 있는 경우는 자식 클래스 가 우선하기 때문에  num2.b=5에서  0으로 변경됩니다. 
num2.sum() 메소드에 의해서 두수의 합은 1이 출력됩니다. 

package tclass;

class ClassA {
 int a;
 int b;
 
 ClassA(){
 a=1;
 b=5;
 }  
}

class ClassB extends ClassA {
int b;
 void sum() {
 System.out.println(" 두 수 의 합 : "+ (this.a+this.b));
 }
}

public class classtest {

public static void main(String[] args) {
ClassB num1=new ClassB();
 num1.b=20;
 num1.sum();
 ClassB num2=new ClassB(); 
 num2.sum();
}

}
728x90
반응형

댓글