항상 순서는 부모 -> 자식
부모클래스
package day0629;
//항상 순서는 부모-> 자식
//부모클래스
public class Employee_04 {
String sawonName;
int salary;
public Employee_04(String name, int sal) {
this.sawonName=name;
this.salary=sal;
}
//리턴 메서드
public String getEmp()
{
return sawonName+","+salary; //-> String + int = String
}
//추상메서드 public String getEmp(); -> {}가 없음
}
자식클래스
오버라이딩
하위클래스 부모클래스의 메서드를 수정해서 사용하기 위해서 사용
부모클래스에서 미완성된 메서드를 상속받아서 자식클래스에 있는걸 추가하고 완성
하위 클래스에서 상위 클래스 순
정의하기 위해서 오버라이딩 사용
1.상속이 전제 2.메서드이름 동일 3.리턴타입도 동일
ackage day0629;
//자식클래스
public class Manager_04 extends Employee_04{
String buseo;
public Manager_04(String name, int sal, String b) {
super(name, sal); //부모클래스에서 부모생성자 호출
buseo=b; //자식클래스 초기화
}
//하위 클래스에서 상위 클래스 순/ 재정의하기 위해서 오버라이딩 사용
//하위클래스 부모클래스의 메서드를 수정해서 사용하는건 - 오버라이딩
//1.상속이 전제 2.메서드이름 동일 3.리턴타입도 동일
//오버라이딩 부모클래스에서 미완성된 메서드를 상속받아서 자식클래스에 있는걸 추가하고 완성
@Override
public String getEmp() {
return super.getEmp()+","+buseo;
}
}
메인클래스
package day0629;
public class EmpMain_04 {
public static void main(String[] args) {
// 최지우,2500000,기획경영부 라고 출력하려면?
Manager_04 man=new Manager_04("최지우", 2500000, "기획경영부");
System.out.println(man.getEmp()); //재정의된 메서드 호출
//부모-> 자식 오버라이딩 해서 자식 생성자 값이 나옴
//호출을 부모꺼로 하면 부모클래스 생성자 값/ 자식꺼로 하면 자식클래스 생성자 값
}
}