카테고리 없음
[JAVA] 오버로딩(Overloading)과 오버라이딩(Overriding)의 차이점
NaChoon
2022. 5. 11. 11:20
728x90
기술면접에도 많이 출제된다고 한다!
객체지향언어의 특징
오버로딩(Overloading)
개념
같은 class or 상속 관계에서 동일한 메소드(Method) 이름 중복 가능
조건
메소드(Method) 이름은 동일, 파라미터(Paremeter, 인수, 인자, 매개변수)의 타입, 갯수는 다르게
사용 이유
이름이 같은 여러개의 메소드(Method)를 선언하기 위해서(편리성)
오버라이딩(Overriding)
개념
자식 class에서 부모 class에 있는 메소드(Method)를 동일한 이름으로 재정의(replace)
조건
메소드(Method)이름은 동일, 파라미터(Paremeter, 인수, 인자, 매개변수)의 타입, 갯수도 동일
사용 이유
부모 class의 메소드(Method)는 무시하고 자식 class에서 재정의 하기 위해서.
오버로딩, 오버라이딩 모두 메소드이름이 같은 공통점이 있으나
가장 큰 차이점은
오버로딩은 파라미터를 다르게 해 이름만 같고 다른 메소드를 만드는 것이고
오버라이딩은 메소드이름, 파라미터 모두 동일하나 자식 class에서 재정의 해서 다은 메소드를 만드는 것이다!
728x90