본문 바로가기
대학원 공부/programming language

Java : Overidding vs Overloading

by 월곡동로봇팔 2019. 11. 3.

전부터 헷갈리던 개념, Overriding, Overloading에 대해 포스팅!

특히 이 개념들은 class를 주로 다루는, python, C++, Java에서 사용하니 알아두면 좋다.

 

 

 

Overloading

매개변수 타입이 다를 때!
매개변수 개수가 다를 때!

Overloading 이란, 과적하다, 과부하라는 의미로!

 

"" 같은 클래스내에서 같은 이름의 메서드를 사용하는 것"" 으로 

 

클래스 메소드의 이름 수를 줄이는 대신, 여러 기능을 넣을 때 사용!!

-> 매개변수의 타입을 다르게 하거나, 매개변수의 개수를 다르게 해 여러 기능을 가능하게 함.

 

따로 적어주지 않아도, 위에 2가지 중 하나만 만족을 한 상태에서 그냥 메소드 이름을 같게만 해줘도 Overloading 이 된다.

 

 

 

Overriding

Overriding

Overridding 이란 가장 우선시되는, 최우선되는, 다른것보다 우선인 -> 이런 의미이다.

 

"" 부모 class에서 정의한 메소드를 상속받을 때, 자식 class에서 그 메소드를 변경하는 것.""

 

상속받은 부모 class에서 메소드 이름은 동일하게 하지만, 기능을 바꾸고 싶을 때 사용한다.

이는 여러 응용가능 -> 위에 예시가 답이다.

 

(@Override 를 안적어도 기능동작은 한다. 하지만 적어줘야 버그를 생성하지 않는다!!! 왠만하면 써둘 것)

댓글