본문 바로가기
Programming/JAVA(eclipse)

java 8일차_ 02. 상속(2)

by yoon9i 2024. 3. 19.
package exam12_상속후_4_이클립스;

public class TestMain5 {

	public static void main(String[] args) {
		
		Engineer5 eng = new Engineer5("홍길동",100,"JAVA");
		Manager5 m = new Manager5("이순신", 200, "인사");
		Secretary5 s = new Secretary5("유관순", 200);
		
		
		System.out.println(eng.getEmployee());
		System.out.println(m.getEmployee());
		System.out.println(s.getEmployee());
	}

}
package exam12_상속후_4_이클립스;

public class Employee5 {

	// 공통적인 속성
	String name;
	int salary;
	
	// 생성자
	public Employee5() {
		super();
	}
		
	public Employee5(String name, int salary) {
		super();
		this.name = name;
		this.salary = salary;
	}

	// 공통적인 기능
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getSalary() {
		return salary;
	}
	public void setSalary(int salary) {
		this.salary = salary;
	}
	
	
	//
	public String getEmployee() {
		return name+"\t"+salary;
	}
}
package exam12_상속후_4_이클립스;

public class Secretary5 extends Employee5 {
	
	// 추가되는 속성없음
	// getter & setter 메서드 없음
	// override 메서드 필요없음. -> 부모메서드와 동일하기때문
	
	// 생성자
	public Secretary5() {
		super();
	}

	public Secretary5(String name, int salary) {
		super(name, salary);
	}
	
}
package exam12_상속후_4_이클립스;

public class Manager5 extends Employee5 {
	
	String depart; // Manager 에서만 추가된 속성
	
	// 생성자
	public Manager5() {
		super();
	}

	public Manager5(String name, int salary) {
		super(name, salary);
	}
	
	public Manager5(String name, int salary, String depart) {
		super(name, salary);
		this.depart = depart;
	}

	
	// getter & setter
	public String getDepart() {
		return depart;
	}

	public void setDepart(String depart) {
		this.depart = depart;
	}

	
	// override
	@Override
	public String getEmployee() {
		return super.getEmployee() + "\t" + depart;
	}
	
	
}
package exam12_상속후_4_이클립스;

public class Engineer5 extends Employee5 {

	String skill; // Engineer5 에서만 추가된 속성
	
	
	// 생성자 -> 부모의 생성자를 가져옴.
	// 부모클래스의 생성자가 2개이기에 생성자를 2개 가져온다.
	public Engineer5() {
		super();
	}

	public Engineer5(String name, int salary) {
		super(name, salary); 
		// name, salary 의 초기화는 선언이 부모클래스에서 되었기에
		// 부모클래서에서 초기화를 한다.
	}	
	
	public Engineer5(String name, int salary, String skill) {
		super(name, salary);
		this.skill = skill;
	}

	
	// getter & setter
	public String getSkill() {
		return skill;
	}

	public void setSkill(String skill) {
		this.skill = skill;
	}
	
	
	// override
	@Override
	public String getEmployee() {
		return super.getEmployee()+"\t"+skill;
	}
	
	
}

'Programming > JAVA(eclipse)' 카테고리의 다른 글

java 9일차 _ 8일차 리뷰  (0) 2024.03.20
java 8일차 _03. 다형성  (0) 2024.03.19
java 8일차 _02. 상속  (0) 2024.03.19
java 8일차 _01. 클래스 관계  (0) 2024.03.19
java 8일차 _ 7일차 리뷰  (0) 2024.03.19