본문 바로가기
프로그래밍/Java

[JAVA]메소드 오버 로딩 , 재귀함수

by jjjhhhhh 2021. 8. 19.

메소드 오버로딩 , Method Overloading 

- 같은 이름의 메소드를 여러개 만드는 기술

- 메소드가 인자리스트의 형태를 다양하게 구성하여, 동일한 메소드명을 가질 수 있게 하는 기술

 

  • 메소드 오버로딩 가능 조건
  1. 인자(매개변수)의 갯수가 달라야함.
  1. 인자의 타입이 달라야함.

 

  • 오버로딩 불가능 조건
  1. 인자의 이름이 같으면 호출시 문제 발생.
  1. 반환값 타입이 다르더라도 매개변수의 이름이 같으면 호출시 문제 발생.

 

1. public static void test() {}  // 가능. 
2. public static void test() {}  // 불가 . 1번이 이미 있어서 
3. public static void test(int n) {} // 가능 . 인자값에 따라 식별이 가능 
4. public static void test(int m) {} // 불가. 3번 때문 
5. public static void test(String s) {} // 가능. 인자 타입으로 구분가능.
6. public static void test(int n, int m) {} // 가능. 호출시 구분 가능. 
7. public static void test(int n, String s) {} // 가능 .
8. public static void test(String s, int n) {} // 가능 .
9. public static String test(int n) {} // 불가능 . 3번과 구분 불가.

 

 

재귀 메소드 , Recursive Method

- 메소드가 자신의 구현부에서 자신을 호출하는 구문을 가지는 메소드

- 자기 자신을 호출하는 메소드

- 가장 쉬운 예로 팩토리얼

 

public class a {
 public static void main(String[] args) {
			int n =4;
			int result = fatorial(n);  
			System.out.println(result);//24
		}
		public static int factorial() {
				int temp = ( n==1 ) ? 1 : n*factorial(n-1) ;
				return temp;
 }
}

 

 

 

'프로그래밍 > Java' 카테고리의 다른 글

[JAVA]연산자  (0) 2021.08.12
[JAVA] 생성자  (0) 2021.08.12
[Java] 자료형  (0) 2021.07.11