자바-11일차(2) 이클립스

최성현·2023년 6월 29일
0

Java

목록 보기
27/46

상속2 - 오버라이딩

항상 순서는 부모 -> 자식

부모클래스

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()); //재정의된 메서드 호출
										  //부모-> 자식 오버라이딩 해서 자식 생성자 값이 나옴
										  //호출을 부모꺼로 하면 부모클래스 생성자 값/ 자식꺼로 하면 자식클래스 생성자 값
	}

}
profile
백엔드 개발자로서 성장해 나가는 성현이의 블로그~

0개의 댓글