본문 바로가기
Java

[Java] 메소드 오버라이딩하기(Method Overriding)

by coding_su 2023. 1. 19.

📝메소드 오버라이딩하기(Method Overriding)

상속받은 함수를 재활용하여 코드를 작성할 수 있도록 하는 메소드 오버라이딩(Method Overriding)

 

상속할 클래스(부모 클래스) 코드 작성

public class Parent {
	String name;
	int age;
	private int money;
	
	public int getMoney() {
		return money;
	}
	public void setMoney(int money) {
		this.money = money;
	}
	void print() {
		System.out.println("name : " + name);
		System.out.println("age : " + age);
		System.out.println("money : " + money);
	}
}

 

상속 받는 클래스 작성할때 어노테이션에 @Override 입력한다

= 부모클래스에 있던 함수를 재작성하겠다(수정해서 사용하겠다)

public class Child extends Parent {
	
	String hobby;

	// Child에 있는 hobby 정보까지 같이 출력할 수 있는 함수를 만들기
	// 새로운 함수를 만들지말고 메소드 오버라이딩(Method Overriding)해서 만들기
	@Override
	void print() {
		// super? extends 옆에 있는 상속받은 클래스를 말한다
		super.print();
		System.out.println("취미는 : " + hobby);
	}
}

 

+ 이클립스에서는 마우스 오른쪽 눌러서 소스의 오버라이드를 클릭해 간편하게 만들 수 있다

 

비슷한 이름 헷갈리지 말 것!

메소드 오버로딩(Method Overloading)

메소드(함수)의 이름은 같고 파라미터의 데이터 타입이나 파라미터의 갯수는 달라도 똑같은 이름으로 처리 할 수 있도록 해주는 기능

메소드 오버라이딩(Method Overriding)
상속받은 함수를 재활용하여 코드를 작성할 수 있도록 해주는 기능
메소드 오버로딩과 비슷하지만 메소드 오버라이딩은 상속받았을때만 사용한다 ★ 

댓글