///////
Search
☘️

메서드와 오버라이딩

목차

오버라이딩이란?

조상 클래스로부터 상속받은 메서드의 내용을 자손 클래스에서 변경하는 행위.
예시

메서드 오버라이딩의 조건

선언부가 조상 클래스의 메서드와 일치해야 한다(메서드 이름, 매개변수, 반환타입)
접근 제어자는 조상 클래스의 메서드보다 범위가 같거나 넓어야 한다.
ex. 조상: private, 자손: public → OK. (반대의 경우는 X)
예외는 조상 클래스의 메서드 이하의 갯수로 선언해야 한다.

오버로딩 vs 오버라이딩

오버로딩: 매개변수 종류나 갯수가 다른 동일한 이름의 새로운 메서드 정의
오버라이딩: 상속받은 메서드의 내용 변경

오버라이딩 애너테이션 (@Override)을 사용하는 이유

애너테이션(Annotation)
읽는 이로 하여금 어느 메서드가 오버라이딩 된 것인지 알 수 있도록 함.
컴파일러가 컴파일 시점에 오버라이딩 문법을 확인해준다.

오버로딩(method overloading)

오버로딩이란?

객체 지향 프로그래밍의 특징 중 하나인 다형성(Polymorphism)을 구현하는 방법 중 하나
같은 함수 이름으로 파라미터의 인자 또는 갯수를 달리하여 정의할 수 있음
상속관계가 아니어도 적용 가능

메소드 오버로딩의 조건

메소드의 이름이 같아야 함
메소드의 시그니처, 즉 매개변수의 개수 또는 타입이 달라야 함

오버로딩을 활용하는 이유

이전에는 매개변수가 달라질때마다 새로운 함수를 작성
객체지향 이라는 개념이 등장한 이후 오버로딩도 함께 등장
오버로딩 사용 시 장점

오버로딩의 대표적인 예시

println();
전달받는 매개변수의 타입(기본형 또는 참조형의 데이터)에 따라 적절한 원형의 오버로딩을
호출
급여 프로그램 구현 실습 중 질문