본문 바로가기

JAVA

[JAVA] overload 와 override의 차이점

 

 

 overload의 사전적 의미로는 '많이 싣는다' 라는 의미로 사용된다.

 

자바에서 의 overloading은 한개의 메소드의 이름으로 매개변수의 데이터 유형과 개수를 달리하여 여러 번 사용하는 것을 말한다. 리턴 타입은 상관이 없다. 즉, 한 곳에 여러개를 싣는다는 의미로 받아들이면 된다. 간단하게 스타크래프트의 오버로드를 생각하면 될듯하다(곂쳐서 유닛들을 실으니까).

 

 

override의 사전적 의미는 더 중요하다는 의미를 가진다. 무언인가의 위에 ride(타는) 것으로 보면 되겠다.

 

자바에서 의 overriding은 부모클래스의 메소드를 상속하여 하위클래스에서 다른 형태로 바꾸어 사용하는 것입니다.

이러한 상황에서 부모클래스의 메소드보다 우선적으로 하위클래스의 메소드가(override한) 작동되므로 보다 더 중요하다는 의미로 사용된다는 것을 알 수 있습니다. 

 

두가지를 구분하는 방법 중의 하나는 override를 사용했을 시 보았던  anotation(주석)의 철자를 떠올리며 기억하는 것이 하나의 팁입니다.