티스토리 뷰

Algorithm/Java

자바 기본편 - 오버로딩

JJIINDOL 2023. 2. 9. 17:05

✨ 메소드 오버로딩

  - 메소드 오버로딩(overloading)이란 같은 이름의 메소드를 중복하여 정의하는 것을 의미한다. 자바에서는 원래 한 클래스 내에 같은 이름의 메소드를 둘 이상 가질 수 없다. 하지만 매개변수의 개수나 타입을 다르게 하면, 하나의 이름으로 메소드를 작성할 수 있다. 즉, 메소드 오버로딩은 서로 다른 시그니처를 갖는 여러 메소드를 같은 이름으로 정의하는 것이라고 할 수 있다.

이러한 메소드 오버로딩을 사용함으로써 메소드에 사용되는 이름을 절약할 수 있는데 메소드를 호출할 때 전달해야 할 매개변수의 타입이나 개수에 대해 크게 신경을 쓰지 않고 호출할 수 있기 때문이다. 메소드 오버로딩은 객체 지향 프로그래밍의 특징 중 하나인 다형성(polymorphism)을 구현하는 방법 중 하나이다.

 

public class C_01 {

	public static int getPower(String strNumber) {
		int number = Integer.parseInt(strNumber);
		return number * number;
	}
	
	public static int getPower(int number) {
		int result = number * number;
		return result;
	}
	
	public static int getPower(int number, int exponent) {
		int result = 1; // 지역 변수
		for (int i=0; i < exponent; i++) {
			result *= number;
		}
		return result;
	}

	public static void main(String[] args) {
		
		System.out.println(getPower("4"));
		System.out.println(getPower(4));
		System.out.println(getPower(2,4));
	}
}
// 지역 변수: 중괄호 안에서만 사용가능
// 메소드 오버로딩: 이름은 같지만 전달값의 타입/ 자료형/ 갯수가 다른 메소드를 중복해 선언 가능

 - 다음 코드는 다른 자료형과 갯수의 전달값을 갖는 메소드를 중복해 사용한 예시이다. 같은 이름의 메소드를 사용했지만 올바른 결과값이 나오는 것을 확인할 수 있다.

 - 메소드 오버로딩의 조건:  1. 메소드의 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다.

 - 지역변수: 메소드 내에 선언된 변수이다.  해당 메소드 내에서만 사용할 수 있으므로, 서로 다른 메소드라면 같은 이름의 변수를 사용해도 된다. 

'Algorithm > Java' 카테고리의 다른 글

자바 기본편 - 용어 정리  (0) 2023.02.13
자바 기본편 - 메소드 퀴즈  (0) 2023.02.10
자바 기본편 - 전달값과 반환값  (0) 2023.02.09
자바 기본편 - 메소드  (0) 2023.02.08
자바 기본편 - 배열의 순회  (0) 2023.02.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함