본문 바로가기

Java/Java 문법

[Java] 오버라이딩 (Overriding)

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
반응형