본문 바로가기

잘 몰라서 하는 공부/분류하기 애매해서

오버로드 / 오버라이드 / 오버로딩/오버라이딩

728x90
728x90

오버로드 (Overload)

과적(過積), 과부하(過負荷)
클래스의 상속 시, 기존에 없던 새로운 메서드를 추가하는 것
어떤 메소드의 구현 내용을 다양하게, 다른 형태로 동시에 제공하기 위해 사용

동일한 이름의 메소드를 파라미터만 바꿔서 여러 번 작성 (오버해서 쓴다라고 외우면 좋다.)
1. 메소드 이름이 같음
2. 리턴 값이 같거나 다름
3. 파라미터 개수 다름
    파라미터 갯수가 같다면, 데이터 타입이 달라야

=> 이름만 같지 행동이나 리턴 값이 다름


오버라이드 (Override)

기각하다,  무시하다
'기존의 것을 무시하고 덮어쓰다' 를 의미
부모 클래스로부터 상속받은 메소드를 자식 클래스에서 확장 및 재정의 하는 것

동일한 이름의 메소드를 사용, 동작 방법만 재정의 (라이드. 즉, 버스 타듯이 부모 캐리받는다는 거)
1. 상위 클래스의 메소드여야 사용 가능
2. 메소드 이름이 같음
3. 파라미터 개수,  타입이 같음
4. 리턴 값의 데이터 타입도 같음
5. 오버라이드 하는 메소드와 행동이 동일하거나 추가 되어야 함
=> 상위 클래스(부모)의 것을 그대로 쓰거나 더 추가해서 사용(부모만큼 하거나 부모보다 더 발전한 자식이거나)

728x90
728x90