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 |