2013. 12. 19. 10:33
오버로딩과 오버라이딩 차이.  overloading overrideing

오버로딩(Overloaing)

일반적으로 하나의 클래스 안에 정의된 메소드는 이름이 중복될 수 없다.
오버로딩은 하나의 클래스에 같은 이름을 가진 메서드를 여러개 정의 할 수 있다.

단,  매개 변수의 정보가 달라야 한다. 

왜 쓸까?

동일하거나 유사한 일을 수행하는 메소드가 전달 받는 매개변수에 따라 조금씩 다른 연산을 해야 하는 경우

모든 상황에 따라 메서드 이름을 각각 정의 하는 것보다 매개변수 정보만 달리하여 동일한 이름으로 정의 한다면 코드를 작성하면

사용자 입장에서 직관적이고 편리하게 사용할 수 있다.



 


오버라이딩(Overriding)

클래스간 상속 관계에서 메소드를 재정의 하는 방법. 
오버라이딩을 할 메소드는 이름, 매개변수, 반환형이 모두 같아야 한다.


왜 쓸까?

부모클래스에 대해서 잘 알지 못하더라도 상속과 구현을 통해 이미 만들어 진 것을 사용하는 것이 가능하다.
클래스마다 다르게 구현할 필요없이, 메소드 오버라이딩을 통해서 한번에 로직을 작성하는 것이 가능하다.

이것을 다형성이라고 한다.


Posted by hoonihoon