한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을
오버로딩 입니다.
오버로딩 조건
메서드 이름이 같아야 합니다
매개변수의 개수 또는 타입이 달라야 합니다. //반환 타입은 영향없습니다.
int add(int a, int b) {return a+b}//중복정의
long add (long a, int b) {return a+b; } //오버로딩 성립
int ,int -> int,int는 오버로딩이 성립이 안되고 하나라도 타입이 달라야합니다
오버라이딩
조상클래스부터 상소받은 자손클래스 가 자신에 맞게 변경됩니다.
오버 라이딩의 조건
이름이 길어야합니다
매개변수가 같아야합니다
반환타입이 같아야 합니다
접근제어자는 조상 클래스의 메서드보다 좁은 범위로 변경 할수 없습니다
pubic,protected,(default),private
-------------------------------------------->
조상의 클래스의 메서드보다 많은 수의 예외를 선언할 수 없습니다
오버로딩 vs 오버라이딩
오버로딩 이존에 없는 새로운 메서드를 정의 (new)
오버라이딩 상속받은 메서드의 내용을 변경 (change, modify)
'JAVA > 객체지향' 카테고리의 다른 글
변수의 초기화 (0) | 2023.02.23 |
---|---|
생성자 (0) | 2023.02.22 |
클래스 메서드(static)와 인스턴스 메서드 (0) | 2023.02.22 |
기본형 매개변수와 참조형 매개변수 (0) | 2023.02.22 |
JVM의 메모리 구조 (0) | 2023.02.22 |