Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

ultra_dev

오버로딩, 오버라이딩 본문

Computer Science

오버로딩, 오버라이딩

ultra_dev 2023. 4. 5. 13:48

OverLoading

 

한 클래스 내에서 동일한 이름의 메서드를 여러개 갖는 것

 

메서드의 이름은 같지만 매개변수의 갯수 or 순서 or  타입이 달라야함

리턴타입만 다른 경우 오버로딩이 아니다.

 

사용이유

 

1. 같은 기능을 하는 메소드를 하나의 이름으로 사용할 수 있다.

2. 메소드의 이름을 절약할 수 있다.(프로그래머의 입장에서 메소드 네이밍에 관한 고민은 큰 스트레스다)

 

 

OverRiding

 

상속받은 부모 클래스의 메소드를 재정의하여 사용하는 것

 

메소드의 동작만을 재정의하는 것이므로, 메소드의 선언부는 기존 메소드와 완전히 같아야 한다.

즉, 오버라이딩하고자 하는 메소드의 이름, 매개변수, 리턴 타입이 모두 같아야 한다

오직 내용만을 새로 정의한다.

 

메소드 return 타입의 변환시 부모 클래스 return타입으로 형변환이 가능할 때, 변환이 가능하다.

 

부모 클래스에 선언된 메소드 접근 제어자 보다 접근 제어자 범위를 더 작게 선언할 수 없다.

부모 클래스의 메소드에 선언된 예외 범위보다 더 큰 범위의 예외를 선언할 수 없다.

 

+ @Override는 어떤 용도인가?

@Override라는 어노테이션은 오버라이딩을 검증하는 기능을 한다. 코드상으로 검사했을 때 오버라이딩이 실제로 시행되지 않았다면 컴파일시 오류를 출력한다.

Comments