무지개 곰
무지개곰의 성장이야기
무지개 곰
250x250
  • 분류 전체보기
    • 블록체인 공부
      • BlockChain
      • Ethereum
    • IT공부
      • Java
      • JavaScript
      • HTML + CSS
      • React
      • 프로그래머스 (TypeScript)
    • 독서
    • 영어 공부
      • 1일 1 작문
      • 영어 짧은 글
    • 홍보
hELLO · Designed By 정상우.
무지개 곰

무지개곰의 성장이야기

[Java] Java의 오버로딩 이해하기
IT공부/Java

[Java] Java의 오버로딩 이해하기

2022. 7. 3. 12:00
728x90

오버로딩이란 무엇인가?

오버로딩이란 한 클래스 혹은 한 개체 안에 같은 이름의 메서드 혹은 같은 이름의 생성자를 여러 개 정의하는 것을 의미합니다. 오버로딩이 성립하기 위한 조건은 메서드 혹은 생성자의 이름이 같아야 합니다. 단 매개변수의 개수가 다르거나 매개변수의 개수가 같다면 자료형이 달라야 합니다.

매개변수의 개수가 다른 경우

public int calculation(int a, int b){
    int result;
    result = a+b;
    return result;
}
public int calculation(int a, int b, int c){
    int result;
    result = a*b*c;
    return result;
}

 

위의 예시처럼 매개변수의 개수가 다른 경우 메서드의 이름이 같아도 문제가 없습니다. 메서드를 호출하였을 때 매개변수를 2개 입력하면 두 수를 더하는 작업을 할 것이고 매개변수를 3개 입력한다면 세 개의 수를 곱하는 작업을 합니다.

public static void main(String[] args){
    int a = calculation(3,4);
    int b = calculation(3,4,5);
    System.out.println(a);//결과는 7이 나옵니다.
    System.out.println(b);//결과는 60이 나옵니다.
}

매개변수의 자료형이 다른 경우

위의 예시와 같이 매개변수의 개수 대신 매개변수의 자료형이 다른 경우도 가능합니다.

public int calculation(int a, int b){
	int result;
    result = a+b;
    return result;
}
public int calculation(double a, int b){
	int result;
    result = a*b;
    return result;
}
public int calculation(int a, double b){
	int result;
    result = a-b;
    return result;
}

위의 예시처럼 입력해주는 값의 자료형이 다른 경우도 오버로딩이 가능합니다. 메서드를 호출할 때 둘 다 정수형을 입력하면 두 수를 더하게 되고 앞의 값은 실수형 뒤의 값은 정수형을 입력하면 두 수를 곱합니다. 첫 번째의 입력 값이 정수형 두 번째의 입력 값이 실수형이라면 두 수를 빼게 됩니다. 이러한 식으로 입력되는 매개변수의 차이에 따라 작업이 다른 경우 여러 가지 메서드 혹은 생성자를 설정하는 것을 오버로딩이라고 합니다.

728x90
저작자표시 비영리 변경금지
    'IT공부/Java' 카테고리의 다른 글
    • [Java] Java의 싱글톤(singleton) 이해하기
    • [Java] Java의 static 이해하기
    • [Java] Java의 생성자 이해하기 (this란 무엇인가?)
    • [Java] Java의 메소드 자세히 알아보기
    무지개 곰
    무지개 곰
    java solidity react javascript등 프로그래밍 공부 기록

    티스토리툴바