☕JAVA/🔎 공부 [JAVA]

[JAVA] 메소드 - 오버로딩

디카페인라떼 2022. 8. 10. 13:03

2022.08.08 - [JAVA] - [JAVA] 객체지향 / 클래스 Class /메쏘드 Method / Static

 

[JAVA] 객체지향 / 클래스 Class /메쏘드 Method / Static

2022.06.20 - [준비운동/생활코딩 자바] - 6일차 패키지/클래스/인스턴스/상속 JAVA는 객체지향 프로그래밍이다. 객체 지향 프로그래밍 (OOP) 프로그램을 구성하는 요소는 객체이며 이것이 상호작

wearegolden.tistory.com

 

<메소드 오버로딩>

  • 매개변수의 유형과 갯수가 다르게 하여 같은 이름의 메소드를 여러 개 가질 수 있게 하는 기술
  • 매개변수의 수, 타입이 다른 경우 동일한 이름으로 메소드를 여러 개 정의할 수 있다
public class MyClass2 {//메소드 오버로딩
	
	//메소드 오버로딩은 매개변수 부분이 달라야 한다.(메소드명 동일)
	//타입과 매개변수의 수가 중요(반드시 매개변수의 타입이 달라야함)
    //메소드 명 (plus)로 동일 
	
	public int plus (int x, int y) {
		return x + y;
	}
	
	public int plus (int x, int y, int z) {
		return x + y+ z ;
	}
	
	public String plus (String x, String y ) {
		return x + y;
	}
    public int plus(int i, int f){
        return i+f;
    }
  • 위처럼 변수명은 다르지만, 매개변수의 타입과 개수가 동일한 메소드를 또 정의 할 수는 없다.

<오버로딩된 메소드 사용하기>

public class MethodOverload {
public static void main(String[] args) {		
		//이용하기 위해서 해당 클래스가 만들어져 있어야함
		//클래스타입 변수명 =  new 클래스생성자이름
		MyClass2 m = new MyClass2(); 
		
		System.out.println(m.plus(4, 5));//9
		//매개변수.(메소드이름) (매개변수)
		System.out.println(m.plus(4, 6, 7));//17
		System.out.println(m.plus("hello"+"world"));//"helloworld"

	}