///////
Search

메소드 오버라이딩

작성 날짜
2022/09/27 06:47
작성자
오버라이딩
상속받은 조상의 메서드를 자신에 맞게 변경하는 것
오버라이딩의 조건 (외워야함)
1) 선언부(이름,매개변수,리턴타입)유가 조상 클래스의 메서드와 일치해야 한다.
2)접근 제어자(defult)를 조상 클래스의 메서드 보다 좁은 범위로 변경할 수 없다
3)예외는 조상 클래스의 메서드보다 많이 선언할 수 없다
오버로딩은 상속과 관계없음, 오버라이딩은 상속받은 걸 변경
오버라이딩 예시
class Parent { void display() { System.out.println("부모 클래스의 display() 메소드입니다."); } } class Child extends Parent { void display() { System.out.println("자식 클래스의 display() 메소드입니다."); } } public class Inheritance05 { public static void main(String[] args) { Parent pa = new Parent(); pa.display(); Child ch = new Child(); ch.display(); Parent pc = new Child(); pc.display(); // Child cp = new Parent(); } }
HTML
복사
오버라이딩 미니 프로젝트
package course_0926; class Employee{ int salary = 0; public void setSalary(int salary) { this.salary = salary; } public int getSalary(){ return salary; } } class Manager extends Employee{ @Override public int getSalary(){ return 5000000; } } class Programmer extends Employee{ @Override public int getSalary(){ return 6000000; } } public class MiniProject { public static void main(String[] args) { Manager obj1 = new Manager(); System.out.println("관리자의 월급: " + obj1.getSalary()); Programmer obj2 = new Programmer(); System.out.println("관리자의 월급: " + obj2.getSalary()); } }
HTML
복사
메소드 오버로딩
기존에 없는 새로운 메서드를 정의하는 것
오버로딩 예시