[Java] 오버로딩 - Overloading

원준·2023년 7월 11일
0

Java

목록 보기
12/19

Overloading ?

  • 간단하게 말하면 같은 이름의 메서드에 다른 타입으로 사용할 수있도록 해주는 방식을 말한다.
  • Java는 변수에 대해 타입이 정해져 있다보니, 다른 여러개의 이름을 많이 생성하면 햇갈리기 쉬워져 하나의 이름의 메서드에 대해 여러 타입을 만들어 사용하려고 만든 방법이다.

사용 방식

  • 처음에 우리가 사용 했던 System.out.prinln() 또한 오버로딩을 사용한 방식인데, 해당 메서드의 구성을 보면 이렇다.
    • println()에 들어가는 방식에 여러 타입이 있다는 것을 볼수 있다. 이는 하나의 메서드의 역할을 다양하게 사용하기 위해 나눈 방식이다.

예시)

public class Add {
	int add(int a, int b) { //정수와 정수끼리 더하는 메서드
		return a + b;
	}
	
    //정수와 실수끼리 더하고 싶다면, 위 메서드는 사용할 수 없다.
    //다른 이름으로 만들자니, 너무 많아 질 것이 우려되니,
    // 같은 이름으로 다른 타입을 넣을 수 있도록 메서드를 오버로딩 하자.
	double add(int a, double b) { //정수와 실수끼리 더하는 메서드
		return a + b;
	}
	
	double add(double a, double b) {//실수와 실수끼리 더하는 메서드
		return a + b;
	}
	
	String add(String a, String b) { //문자열과 문자열 더하는 메서드
		return a + b;
	}
}
public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 2, 3 두수를 주면, 이 두수를 더한 결과를 리턴해주는 함수 필요
		
		Add a = new Add(); //클래스의 틀을 객체로 만들어 메모리에 저장한다.
		System.out.println(a.add(2, 3));
		
		// 2.3, 3.541 두수를 더한 결과를 받고 싶다.
		System.out.println(a.add(2.3, 5.3));
		System.out.println(a.add(2, 5.3));
		//두 수를 합치는 방법에서 함수의 이름을 같게 사용할때 하는 방법
		// 함수 오버로딩 이라고 한다.
		// 같은 방식의 다른 타입에 대해 처리를 할때 사용을 한다.
		
		
		//"hello" , "bye 두 문자열 주면, 붙여주는 함수 필요하다.
		// 오버로딩을 사용해 같은 함수의 다른 연산을 만들자.
		System.out.println(a.add("hello", "bye"));
		
		//method overloading
	}
profile
공부해보자

0개의 댓글

관련 채용 정보