본문 바로가기

프로그래밍 /JAVA

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

JAVA    기초


오버라이딩(Overriding)이란!!!


※사전적으로는 ~~의 덮어쓰다 (overwrite)


조상클래스로부터 메서드의 내용을 변경하는 것을 오버라이딩이라고 한다. 

상속받은 것을 그대로 사용하기도 하지만 자손클래스 자신의 맞게 변경해서 사용할 경우가 많다 


오버라이딩 조건



자손클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와 

-  이름이 같아야 한다.

-  매개변수가 같아야 한다.

-  반환타입이 같아야 한다. 


※※ 

접근제어자는 조상클래스의 메서드 보다 좁은 범위로 변경 X

조상클래스의 메서드보다 많은 수의 예외를 선언할 수 X

인스턴스 메서드를 static메서드로 또는 그 반대로 변경X










오버로딩(overloading)이란  !!!

※사전적으로는 ~~과적하다 (overload)



같은 이름으로 다수의 메서드를 가질 때 이것을 메소드 오버로딩 이라고 한다.

같은 이름 메서드를 여러개 정의 하는 것을 말한다.

오버로딩 조건


메서드 이름이 같아야한다,(정의)

매개변수의 개수 또는 타입이 달라야 한다.

매개변수는 같고 리턴타빙이 다른경우는 X(리턴 타입은 아무 영향을 주지 못한다.)





오버로딩(overloading) & 오버라이딩(Overriding) 차이점



오버라이딩 --> 상속받은 메서드의 내용을 변경하는 것  



오버로딩   --> 기존에 없는 새로운 메서드를 정의하는 것