📝메소드 오버라이딩하기(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)
상속받은 함수를 재활용하여 코드를 작성할 수 있도록 해주는 기능
★ 메소드 오버로딩과 비슷하지만 메소드 오버라이딩은 상속받았을때만 사용한다 ★
'Java' 카테고리의 다른 글
[Java] 추상 클래스(abstract) (0) | 2023.01.20 |
---|---|
[Java] super로 사용하는 상속 클래스 멤버변수 (0) | 2023.01.19 |
[Java] 클래스 상속 (0) | 2023.01.19 |
[Java] 클래스 멤버변수에 데이터 셋팅하기(객체 생성) (0) | 2023.01.19 |
[Java] getter / setter 함수 사용하기 (0) | 2023.01.19 |
댓글