issues
search
wannabeGPT
/
CS_study
0
stars
0
forks
source link
오버로딩(Overloading)과 오버라이딩(Overriding)의 차이에 대해서 설명해주세요.
#31
Open
anuu0916
opened
1 year ago
KUMA93
commented
1 year ago
오버로딩(Overloading)은 기존에 존재하는 메서드의 이름과 같은 새로운 메서드를 다른 매개변수 조건으로 정의하는 것이고,
오버라이딩(Overriding)은 상속 받은 메서드의 내용만 변경 하는 것이다.
구분
Overriding
Overloading
접근 제어자
부모 클래스의 메소드의 접근 제어자보다
자식 클래스
의 접근 제어자가
더 넓은 범위
를 가져야 한다.
모든 접근 제어자
사용 가능
리턴형
동일
달라도 됨
메소드명
동일
동일
매개변수
동일
달라야 됨
적용 범위
상속관계
에서 적용된다.
같은 클래스 내
에서 적용된다.
anuu0916
commented
1 year ago
Overloading : 같은 이름의 메서드를 인자의 개수, 인자의 타입, 인자의 순서 등이 다르게 중복하게 선언할 수 있는 것
Overriding : 부모 클래스에서 상속받은 메서드를 재정의
anuu0916
commented
1 year ago
오버라이딩의 조건
메서드 이름, 매개 변수(개수, 타입, 순서), 리턴 타입이 같아야 함
접근 제한자는 부모보다 범위가 넓거나 같아야 함
조상보다 더 큰 예외를 던질 수 없음
static 메서드는 오버라이딩 불가능
자식 클래스
의 접근 제어자가더 넓은 범위
를 가져야 한다.모든 접근 제어자
사용 가능상속관계
에서 적용된다.같은 클래스 내
에서 적용된다.