Overriding과 Overloading의 차이점

2022. 2. 7.공부/OOP

728x90

Overriding = 재정의

부모 클래스에서 물려받은 메서드를 자식 클래스에서 재정의하여 사용하는 것을 오버라이딩이라고 한다. 부모 클래스의 메서드는 자식 클래스에 맞게 설계하는 것이 가장 이상적이지만, 특정 메서드는 자식 클래스가 사용하기에 적합하지 않을 수 있기 때문에 오버라이딩으로 처리한다. 오버라이딩을 할 때는 부모 쪽 메서드의 이름과 리턴 자료형을 일치시켜 자식 쪽에 중복 작성한다.

 

Overloading = 과적재,확장

메서드 또는 생성자를 선언할 때 같은 이름으로 중복 선언하되, 매개변수의 갯수나 자료형을 다르게 선언하는 것을 오버로딩이라고 한다. 오버로딩을 사용하면 하나의 메서드에서 매개 변수의 유형에 따라 다른 동작이 실행되게 할 수 있다. 리턴 값만을 다르게 갖는 오버로딩은 작성할 수 없다. 

 

구분 Overriding Overloading
메소드 이름 동일 동일
매개 변수 동일 갯수나 자료형, 선언 순서가 반드시 다를 것
리턴 타입 자료형만 일치시키고 재정의 동일

 

공통점 : 오버라이딩과 오버 로딩 모두 작성시 메소드명이 같아야 한다.
차이점 : 오버라이딩은 자식 클래스가 부모 클래스의 메서드를 재정의하여 선언하고, 오버 로딩은 하나의 클래스 내에서 선언한다.

'공부 > OOP' 카테고리의 다른 글

JAVA에서의 예외처리 (try~catch~finally / 이중 catch문)  (0) 2022.02.14
다형성 (Polymorphism)  (0) 2022.02.07
컴공 뚝배기 깨는 별찍기  (0) 2022.01.18
문제 풀이  (0) 2022.01.18
중첩 반복문 ^-ㅠ  (0) 2022.01.11