본문 바로가기
프로그래밍 언어/JAVA

[JAVA] 오버 로딩 & 오버 라이딩

by 느링 2017. 8. 2.

오버 로딩

오버 로딩은 메소드 중복 정의라고 부릅니다.

오버로딩은 상속과 관련이 없고 하나의 클래스에 같은 이름의 메소드를 여러 개 정의하는 것입니다.

① 메소드 이름이 같아야 합니다.

② 매개변수의 개수 또는 타입이 달라야 합니다.

③ 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않습니다.

<예제 1>

 

오버 라이딩

오버라이딩은 메소드 재정의라고 부릅니다.

서브 클래스에서 슈퍼 클래스에 선언 된 메소드를 중복 작성하여 슈퍼 클래스에 작성된 메소드를 무시하고 서브 클래스에서 중복 작성한 메소드를 실행시키는 것을 말합니다.

① 이름이 같아야 합니다.

② 매개변수가 같아야 합니다.

③ 리턴 타입이 같아야 합니다.

<예제 1>

 

 오버라이딩을 할 때 조심해야 할 점

① 접근제어자를 부모클래스보다 좁은 범위로 변경할 수 없습니다.

② 예외는 부모클래스보다 많이 선언 할 수 없습니다.

③ 인스턴스를 static 또는 static을 인스턴스로 변경할 수 없습니다.