C++ 함수 오버로딩
함수 오버로딩?
함수 명이 같지만 인자나 리턴 값이 다르게 해서 함수를 만들 수 있다.
이것을 함수 오버로딩이라고 한다.
함수 명 그리고 인자, 리턴 까지 모두 같으면 컴파일 에러가 발생하지만 인자나 리턴 값을 다르게 하면
다른 함수로 인식을 한다.
아래 예제를 보자
인자, 리턴 형이 서로 다른 sum이라는 같은 이름의 함수가 2개 정의 되어있다.
package sample; public class sample {
int sum( int a, int b ){ System.out.println("int_sum "); return a + b ; }
float sum( float a, float b ){ System.out.println("float_sum "); return a + b; }
public static void main(String[] args) { sample s = new sample(); int a = 21, b = 10, c = 0 ; float d = 35, e = 55, f = 0 ; c = s.sum(a, b); f = s.sum(d, e); } } |
[결과]
int_sum float_sum |
함수를 호출 하는 부분에서 똑같이 sum 함수를 호출 하지만 인자 값이 int 이냐 float이냐에 따라 호출 되는 함수가 다른 것을 확인 할 수 있다.
이로써 함수 오버로딩에 대해 알아 봤다.
도움이 되셨나요?
반응형
'프로그램 > Java' 카테고리의 다른 글
[Java] 함수 오버라이딩 (Function Overriding) (0) | 2016.12.09 |
---|---|
[Java] 클래스 상속 (Inheritance) (0) | 2016.12.08 |
[Java] 생성자( Constructor ) (0) | 2016.12.06 |
[Java] 함수(method) 사용법 (0) | 2016.12.01 |
[Java] 클래스와 인스턴스 (0) | 2016.11.23 |