언어/JAVA

[JAVA] 메소드 오버로딩 간략 정리

쟈누이 2021. 1. 24. 12:47
반응형

자바에서는 다형성을 지원하는 메소드로는 오버로딩(overloading)과 오버라이딩(overriding)이 있음


오버로딩(overloading) : 같은 이름의 메소드를 여러개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술

오버라이딩(overriding) : 상위 클래스가 가지고 있는 메소드를 하위 클래스가 재정의해서 사용


1. 오버로딩(overloading)

1)매소드 오버로딩

#3번째, 4번째 메소드 오버로딩은 성립이 가능하다. get3와 변수의 개수는 같지

만, float의 순서가 get4와 다르게 위치해 있기 때문에 오버로딩이 성립


#메소드 오버로딩의 조건

- 매소드의 이름이 같아야함

- 매개변수의 개수 또는 데이터 타입 또는 순서가 달라야 함

- 매개 변수는 같고 리턴타입이 다른 경우는 오버로딩 성립 안됨

(리턴타입은 다르거나 같거나 상관없음)

# double이 int일 경우에는 getAdd 2와 매개변수의 개수가 똑같기 때문에

오류가 발생할 수 있음

# double로 바꿀 경우에는 getAdd 2와 데이터 타입이 틀리기 때문에 메소드

오버로딩이 성립함

# 괄호 내에 같은 데이터 타입의 데이터 개수를 사용할 경우에는 에러가 발쌩

# 변수 명을 jj/ii로 바꾸더라도 매개변수의 개수가 똑같기 때문에 오버로딩은 성립

# 위에 이미 초기화한 변수들을 오버로딩 할 때는 설정한 변수를 그대로 써야함

Main 매소드 내로 위에 설정한 매소드 변수들을 불러오기 위해서는

MethodOverloadingEx mOver = new MethodOverloadingEx();

형태로 mOver 로 선언을 해주어야 한다.

그 이후에는 int a, b, c, d 등을 호출해서 변수를 초기화 해줄 수 있다.

반응형