유용한 팁

오버로딩과 오버라이딩

프리월드 2012. 9. 17. 11:01
오버로딩

-한 클래스 내에서 같은 이름의 매서드를 여러개 정의하는 것을 오버로딩
-기존에 없는 새로운 매서드를 정의, 한 객체가 상황에 따란 다른 의미를 가질 수 있도록 하는 것
-매서드의 이름이 같아야 하고, 매개변수의 개수 또는 타입이 달라야 하며, 배개변수 명이 같고
리턴 타임이 다른 경우는 오버로딩이 성립되지 않는다
-오버로딩된 매서드들은 매개변수에 의해서만 구별

오버라이딩

-상속받은 매서드의 내용을 변경하는 것
-주로 서브클래스에 맞게 고쳐서 사용, 상속된 메소드와 동일한 이름, 인자를 가진 메소드를 정의하여 덫어 씌움
-오버라이드를 하기 위해서는 상위 클래스의 메소드와 이름이 같아야 하고, 매개변수 타입과 개수, 리턴타임이
같아야 하며, 상위 클래스보다 좁은 접근지정자를 사용할 수 없다.