파일명 : Test4.java
package com.test;
// 상속 : A는 B이다. 자식클래스는 부모클래스이다.
// 관리자는 직원이다.
// super. this. 객체의 접근가능영역 기준으로 사용
// super. 부모멤버와 자식멤버 이름이 같을 경우 서로 구별을 위해 사용
class Employee {
// 멤버변수 name salary
String name;
int salary;
// 기본생성자
Employee() {}
// name salary 받는 생성자
Employee(String name, int salary) {
this.name = name;
this.salary = salary;
}
// 메소드 getEmployee() return name+", "+salary
String getEmployee() {
return name+", "+salary;
}
} // Employee class
class Manager extends Employee {
String name; // 멤버변수 오버라이드(override)
int salary; // 멤버변수 오버라이드(override)
// 멤버변수 depart
String depart;
// 생성자 name salary depart 받는 생성자
Manager(String name, int salary, String depart) { // 물려받는 요소는 super라고 쓰는 게 좋다
super.name = name;
super.salary = salary;
this.depart = depart;
}
// 메소드 getManager() return name+", "+salary+", "+depart
String getManager() {
// return name+", "+salary+", "+depart;
return this.name+", "+super.name+", "
+salary+", "+depart;
}
} // Manager class
public class Test4 {
public static void main(String[] args) {
// 객체생성 Employee emp
Employee emp = new Employee("홍길동", 10000);
// 출력 메소드 호출
System.out.println(emp.getEmployee());
// 객체생성 Manager man
Manager man = new Manager("이몽룡", 2000, "총무부");
System.out.println(man.getEmployee());
System.out.println(man.getManager());
man.name = "성춘향";
System.out.println(man.getManager());
} // main()의 끝
}
'IT > Java' 카테고리의 다른 글
자바 상속, 메소드 오버라이딩, 메소드 오버라이딩 제약사항, 생성자 (0) | 2018.07.17 |
---|---|
자바 상속, 메소드 오버라이딩 (0) | 2018.07.17 |
자바 상속 두번째 예제 (0) | 2018.07.17 |
자바 상속(Inheritance) (0) | 2018.07.17 |
자바 패키지, 임포트(import)문, ArrayList (0) | 2018.07.16 |