오버로딩은 한 클래스 내에서 같은 이름을 갖고 있지만 서로 다른 매개변수 형식을 가지고 있는
메서드를 여러개 정의하는 것을 의미한다.
오버라이딩은 부모 클래스에게 상속받은 메서드와 동일한 이름의 메서드를 재정의 하는 것을 의미한다.
1. 오버로딩
1. 조건
⦁메서드의 이름이 같고, 매개변수의 개수나 타입이 달라야 한다. 리턴 값만 다른 것은 오버로딩 할 수 없다.
⦁같은 목적으로 사용하는 메서드들만 오버로딩 해야한다. (주의사항)
2. 사용하는 이유
⦁같은 기능을 하는 메서드를 여러 개 정의하고 외우지 않아도 되기 때문에 편리하다.
⦁컴파일러의 특성
2. 오버라이딩
1. 조건
⦁부모 클래스의 메서드와 시그니처 및 리턴 타입이 동일해야 한다.
⦁부모 클래스의 메서드보다 접근 지정자의 범위가 같거나 넓어야한다.
2. 사용하는 이유
부모 클래스가 제공하는 메서드가 자식 클래스에 맞지 않을 경우 오버라이딩하여 사용한다.
완전 재가공하는 경우와 확장하는 경우가 있다.
+ 추상클래스에 오버라이딩을 강제하는 기능이 있다.
+ 동적바인딩을 하기 위해서 꼭 알아둬야 하는 개념이다.
참고 문헌 : Do it! 자바 완전정복
'Java > 자바 이론' 카테고리의 다른 글
[Java] 자바 인터페이스(Interface)란? (0) | 2022.07.05 |
---|---|
[Java] 추상 클래스와 추상 메서드 (abstract) (0) | 2022.07.04 |
[Java] 자바 super 키워드 & super() 메서드 (0) | 2022.06.30 |
[Java] 자바 클래스 상속의 장점과 특징 (2) | 2022.06.30 |
[Java] 클래스 관계 HAS-A (포함) / IS-A (상속) 정리 (2) | 2022.06.29 |