728x90
반응형
오버라이딩 (Overriding)
오버라이딩은 같은 이름의 메서드를 다른 동작을 하도록 정의한다는 점에서 오버로딩과 비슷한 개념이라고 할 수 있다.
오버로딩과 차이점은 상속관계에 있는 Class에서만 사용되며 요구하는 parameter가 동일해야 한다.
class Number {
public int i, j;
public void calculate() {
System.out.println("i : " + i + "j : " + j);
}
}
class Plus extends Number {
public void calculate() {
System.out.println(i+j);
}
}
class Mul extends Number {
public void calculate() {
System.out.println(i*j);
}
}
public class Example {
public static void main(String [] args) {
Plus a = new Plus();
a.i = 10;
a.j = 5;
Mul b = new Mul();
b.i = 5;
b.j = 4;
a.calculate();
b.calculate();
}
}
위 코드에서 Muber Class에서 calculate를 선언했지만 Plus와 Mul Class에서 calculate 메서드를 재정의 해줌으로써
Class마다 원하는 기능을 사용하는 것이 가능하다.
728x90
반응형
'Java > Java 문법' 카테고리의 다른 글
[Java] super, super 생성자 (0) | 2024.10.02 |
---|---|
[Java] 업캐스팅 (UpCasting), 다운캐스팅 (DownCasting) (0) | 2024.10.01 |
[Java] 상속 (Inheritance), extends (0) | 2024.10.01 |
[Java] 배열, Boundary Checking (경계 검사), 비대칭 배열 (0) | 2024.09.30 |
[Java] String, 문자열 비교, String Class 메서드 (0) | 2024.09.30 |