본문 바로가기
JAVA/객체지향

오버로딩 ,오버라이딩

by chogigang 2023. 2. 22.

한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 

오버로딩 입니다.

 

 

 

오버로딩 조건

 

메서드 이름이 같아야 합니다

매개변수의 개수 또는 타입이 달라야 합니다.     //반환 타입은 영향없습니다.

 

 

int add(int a, int b) {return a+b}//중복정의
  long add (long a, int b) {return a+b; }  //오버로딩 성립

 

int ,int     -> int,int는 오버로딩이 성립이 안되고 하나라도 타입이 달라야합니다

 

 

 

 

오버라이딩

 

조상클래스부터  상소받은 자손클래스 가  자신에 맞게 변경됩니다. 

 

 

오버 라이딩의 조건

이름이 길어야합니다

매개변수가 같아야합니다

반환타입이 같아야 합니다

 

 

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

pubic,protected,(default),private

-------------------------------------------->

 

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

 

 

 

오버로딩 vs 오버라이딩

 

 

오버로딩   이존에 없는 새로운 메서드를 정의 (new)

 

오버라이딩 상속받은 메서드의 내용을 변경 (change, modify)

 

 

'JAVA > 객체지향' 카테고리의 다른 글

변수의 초기화  (0) 2023.02.23
생성자  (0) 2023.02.22
클래스 메서드(static)와 인스턴스 메서드  (0) 2023.02.22
기본형 매개변수와 참조형 매개변수  (0) 2023.02.22
JVM의 메모리 구조  (0) 2023.02.22