728x90
728x90
정리
오버라이딩은 상속관계에서 부모클래스의 내용을 자식클래스에서 재정의 하는것입니다.
오버로딩은 같은클래스에서 매개변수,리턴값이 다르지만 같은 이름의 메소드를 정의하는 것입니다.
* 오버라이딩(조상에게 받은 메서드의 구현부를 바꿈) 조건
ⓐ 선언부가 같아야 한다(이름 / 매개변수 / 리턴타입)
ⓑ 접근제어자를 좁은 범위로 변경할 수 없다.
ⓒ 조상클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.
* 오버로딩 조건
ⓐ 메서드의 이름이 같아야 한다.
ⓑ 매개변수의 개수 or 타입이 달라야 한다. (리턴타입은 오버로딩 구현과 관계 없다)
오버라이딩 Overriding
(영어사전 뜻 : Overide가 무효, 무시, 기각하다 즉, 가장 우선되는)
상속관계에서 부모 클래스에서 정의한 메서드를 자식 클래스에서 재정의하는 것
부모 클래스가 가지고 있는 메서드가 자식 클래스로 상속되어 자식 클래스에서 함수 재사용 가능
그래서 자식 클래스에서 함수에 대한 재정의가 이루어질 때 이를 최우선 한다.
함수 이름, 매개변수, 리턴 값이 같은 함수로 덮어씀.
오버 로딩 Overloading (과부하 느낌)
같은 클래스에서 같은 이름의 메서드를 사용하는 것
같은 이름의 함수지만 리턴 타입, 매개변수가 다르게 정의
728x90
반응형
'🌱 Computer Science > Programming' 카테고리의 다른 글
Pycharm Black 설정 및 사용법 가이드 (1) | 2022.03.22 |
---|---|
한창 힙했던 언어 Python과 요즘 가장 힙한 언어 Rusty (0) | 2021.12.03 |
[Programming] Python과 Java 차이점 | 객체지향vs절차지향 (0) | 2021.08.04 |
[알고리즘] 브루트포스(brute force) (0) | 2021.06.10 |
[Java] LOMBOK(롬복)란? (0) | 2021.04.05 |
[Programming] JAVA(객체지향언어)특징 (0) | 2020.01.12 |