본문 바로가기

웹 프로그래밍/Spring Framework

[JAVA] 메소드 오버로딩(Method Overloading)

메소드 오버로딩이란?
 한 클래스 내에서 같은 이름의 메소드를 여러개 정의할 수 있는 기능을 의미한다.

조건
 1. 파라미터의 타입이나 개수가 달라야한다.
 2. 파라미터의 이름은 오버로딩 성립에 영향을 주지 않는다. (하지만 파라미터의 타입이 같다면 성립X)
 3. 리턴 타입은 오버로딩 성립에 영향을 주지 않는다.  (파라미터의 타입이 같다면 리턴타입이 달라도 성립X)

예제

package test;
import java.util.Scanner;

class Boiler{
 String maker;
 int temp;
 String color;
 
 void tempUp(){
  temp++;
 }
 void tempUp(int amount){
  temp += amount;
 }
}


public class test {
 public static void main(String[] args) throws Exception {
  Boiler bo = new Boiler();
  System.out.println("현재 온도 = " + bo.temp);
  bo.tempUp();
  System.out.println("bo.tempUp() 메소드 호출 후 현재 온도 = " + bo.temp);
  bo.tempUp(20);
  System.out.println("bo.tempUp(20) 메소드 호출 후 현재 온도 = " + bo.temp);
 }
}

결과

현재 온도 = 0
bo.tempUp() 메소드 호출 후 현재 온도 = 1
bo.tempUp(20) 메소드 호출 후 현재 온도 = 21

해설
 피료 없음