상세 컨텐츠

본문 제목

오버로딩 (Overloading)

Coding (코딩)/Java (자바)

by 매일매일 배우는 개발자 2020. 9. 15. 13:00

본문

728x90

오버로딩이란??

 

같은 메소드 및 생성자를 매개변수만 다르값으로 설정하여 여러번 쓸수잇는것이다. 이를 생성자 오버로딩, 메소드 오버로딩이라 부르며 줄여서 그냥 오버로딩이라고 부른다.

현재 우리가 자주사용하는 println함수도 오버로딩을 사용하여 만든 함수이다.

 

오버로딩의 조건

  • 메소드 or 생성자의 이름은 똑같아야 한다 (중요)
  • 매개변수의 갯수와 타입은 달라져야 한다
  • 생성자 오버로딩의 경우 return 타입은 없어야 한다.

밑에 간단한 코드를 보여 이해하자

package test;

public class Overload {
	
	int sum(int a, int b) { // sum method를 파라미터 2개로 오버로딩 하고있다
		 
		System.out.print("매개변수 2개  : ");
		 return a+b;
	}
	int sum(int a, int b, int c) {// sum method를 파라미터 3개로 오버로딩 하고있다
		System.out.print("매개변수 3개 : ");
		return a+b+c;
	}
	

}

class Testimda{
	
	public static void main(String[] args) {
		
		Overload o1 = new Overload();
		System.out.print(o1.sum(1, 2));
		System.out.println();
		System.out.print(o1.sum(1, 2, 3));
	}
}

 

 

매개변수 2개 : 3
매개변수 3개 : 6

 

오버로딩은 주로 메서드에서 사용되는데 장점으로는 메서드명을 하나로 여러가지 매개변수를 가질수 있다.

이는 메서드명를 일일히 기억하지 않아도 되고, 코드를 만든자와 관리하는자 둘다 이득이 될수 있다.

728x90

'Coding (코딩) > Java (자바)' 카테고리의 다른 글

업캐스팅(Up Casting) / 다운캐스팅 (Down Casting)  (0) 2020.10.15
접근 제어자 (modifier)  (0) 2020.09.16
생성자 (Constructor)  (0) 2020.09.14
오버라이딩 - Overriding  (0) 2020.09.11
상속 (Inheritance)  (0) 2020.09.08

관련글 더보기