본문 바로가기
[ JAVA ]/JAVA

[ Java ] Method

by 환이s 2022. 11. 23.
CHAPTER 06. Method 알아가기

오늘은 자바에서 꼭 알아가고 넘어가야 하는 Method에 대해서 포스팅해보려고 합니다.

 

Method 란?

 

Method는 코드를 재사용 할 수 있게 해 준다. 지금까지 배운 반복문, 조건문, 변수, 상수와 같은 것들은 사실상 프로그램을 만드는 가장 중요한 도구들이라고 할 수 있다. 그렇다면 지금까지 방법을 배웠다면 이제부터는 잘 만드는 방법을 익히는 것이 필요한데 그중에 Method가 있다.

 

1 ) Method 형식

<접근자> [ static , final(변하지 않는 값) ] <반환 타입> <함수명> <매개변수>

ex ) public static boolean isPrime (int Num); 

 

함수(function)란?

  • 함수는 클래스(class) 내에 존재하는 행동(동사)를 지칭한다.
  • 하나의 기능을 수행하는 일련의 코드
  • 중복되는 기능은 함수로 구현하여 함수를 호출하여 사용한다.

 

1 ) 함수 정의하기

  • 함수를 코드로 구현하기
  • 함수의 이름, 매개변수, 반환 값을 선언하고 코드를 구현하기
  • 함수 이름 : 함수의 기능과 관련하여 명명
  • 매개 변수: 함수의 수행을 위해 필요한 변수
  • 반환 형: 반환 값의 자료형을 나타냄, 반환 값이 없는 경우 void 처리

 

2 ) Main 함수

  • 재귀 함수(Recursive Method)
  • 함수 재정의(Method Override)

 

3) Stack & Queue

  • Stack : LIFO ( Last In First Out) - 마지막 값을 먼저 처리한다.
  • Queue : FIFO ( First In First Out) - 순차적으로 처리한다.

 

4) Factorial

 

1! = 1

2!= 2*1

3!=3*2*1

4!=4*3*2*1

5!=5*4*3*2*1

 

 

5 ) 재귀 함수(Recursive Method)

  • 자기 자신을 호출하는 함수
  • Call Stack
if(n<= 1) return n;
return  n *

 

예시로 재귀 함수 사용하여 Factorial (5!) 합 구하기

재귀 함수 예시

 

return : 함수 수행 결과를 반환하기 위한 예약어

 

재귀 함수 예시 결과

 

6 ) Overloading 

  • 인자의 수나, 자료형이 다른 Method를 중복으로 선언한 것
System.out.Println("fn1" + fnl(123));  int = int
System.out.Println("fn1" + fnl("abc")); string = string
System.out.Println("fn1" + fnl(123 ,"abc")); (잘못된 예시)

 

Overloading  예시

 

7 ) 재귀호출(Recursion)

 

재귀 함수를 사용해서 피보나치수열을 구해보자. fibo(12)

public static void main(String[] args) {

int inum = 12;

for (int i = 0; i <= inum; i++) {

System.out.print(fibo(i) + " ");
}
}
private static int fibo(int num) {

if (num <= 1)

return num;

return fibo(num - 1) + fibo(num - 2);
}
}

재귀호출 예시
재귀호출 결과


마치며

 

지금까지 예시들을 보면 public , private class를 사용했는데 다음 포스팅에 Object에서 확실히 알고 넘어가야 한다!

처음에는 어렵고 막히는 구간도 많았지만, 함수를 알아가면서 점점 자바의 매력에 빠지는 기분이 든다.. 포기하지 말고 도전해보자!

 

728x90

'[ JAVA ] > JAVA' 카테고리의 다른 글

[ Java ] 클래스와 객체2  (0) 2022.11.30
[ Java ] 클래스와 객체1  (0) 2022.11.25
[ Java ] 반복문  (2) 2022.11.22
[ Java ] 조건문  (0) 2022.11.14
[ Java ] 자바 연산자와 Boolean  (0) 2022.11.09