728x90
반응형
안녕하세요. 스마트팩토리입니다.
자바 중급 023. 상속(inheritance) -부모클래스 , 자식클래스 관계에 대해 알아보겠습니다.
1. 상속(inheritance)
가. 상속
상속
- 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
- 서로 다른 두 클래스를 부모, 자식 클래스로 직접 관계를 만드는 것.
- 자식클래스는 부모의 모든 클래스를 상속 받음
- 생성자, 초기화 블록은 상속에서 제외된다.
- 자식 클래스의 멤버는 부모 클래스의 멤버도다 적을 수 없다.(크거나 같다)
(1) 부모 자식 클래스 작성
<< Comstaff.java 부모 클래스 >>
상속 관계는 클래스가 2개 이상 있어서 서로 관계를 가지고 있습니다
클래스의 각 멤버를 한쪽에서 공유하게 되는 관계로 그대로 멤버를 사용할 수 있습니다.
부모클래스 있는 클래스 멤버는 4개 (멤버변수 3개, 멤버 메소드1개)
package ex01_01inheritance;
class ComStaff {
String areaname;
String workplace;
int part;
ComStaff(){
this.areaname="삼성";
this.workplace="수원";
this.part=001;
}
void show() {
System.out.println("근무지 : "+this.areaname+" 근무부서 :"+this.workplace+" 부서 번호 :"+this.part);
}
}
<<Staffinfo.java 자식클래스>>
두번째 클래스입니다.
자식 클래스 extends 부모 클래스 형식으로 부모 자식 클래스를 구분합니다.
public class Staffinfo extends ComStaff
이렇게 연결되어 있으면 자식 클래스와 부모클래스로 구성된 구조입니다.
자식 클래스에 있는 클래스 멤버는 클래스 멤버 2개, 메소드 1개 상속받는 멤버 4개 로 총 7개가 됩니다.
package ex01_01inheritance;
public class Staffinfo extends ComStaff{
String name;
int age;
void showin() {
System.out.println(" <<성명 >> :"+ this.name+" <<연령 >>:"+this.age);
}
}
<<staffinfoEx.java 메인 실행클래스 >>
메인 클래스에서 객체 staff1을 생성하였습니다.
자식클래스의 멤버 변수를 통해 객체를 만들어주고 부모클래스와 자식 클래스의 메소드를 실행 줍니다.
접근 제어자는 public 이기 때문에 모든 클래스에서 접근 할 수 있습니다.
상속 관계를 파악하여 결과값을 파악할 수 있으면 됩니다.
package ex01_01inheritance;
public class StaffinfoEx {
public static void main(String[] args) {
Staffinfo staff1=new Staffinfo();
staff1.name="kim";
staff1.age=25;
staff1.show(); --> 부모 클래스 메소드
staff1.showin(); --> 자식 클래스 메소드
}
}
728x90
반응형
'Java' 카테고리의 다른 글
자바 중급 025. final 필드 (0) | 2021.09.11 |
---|---|
자바 중급 024. 상속(inheritance) -부모클래스 , 자식클래스 관계(2) (0) | 2021.09.10 |
자바 중급 022. 인스턴스 초기화 블럭, 정적 초기화 블럭,초기화 순서(2) (0) | 2021.09.09 |
자바 중급 021. 인스턴스 초기화 블럭, 정적 초기화 블럭,초기화 순서(1) (0) | 2021.09.08 |
자바 중급 020. 인스턴스 복사 생성자, 인스턴스 복제 (0) | 2021.09.06 |
댓글