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

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

반응형

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

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

1. 상속(inheritance)

가. 상속 예시 (1)

<>

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

package ex01_02inheritance;

public class ClassA {

int a;

int b;

ClassA(){ --- > 생성자

a=1;

b=5;

}

}

<>

public class ClassB extends ClassA

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

package ex01_02inheritance;

public class ClassB extends ClassA {

void sum() {

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

}

}

<>

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)

<>

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();

}

}

반응형

from http://sf2020.tistory.com/84 by ccl(A) rewrite - 2021-09-10 16:01:29