1. method
기본적으로 만들어지는 main 이라는 메소드의 형태는 다음과 같다.
또한 자바 프로그램은 main 이라는 이름의 메소드에서 부터 시작을 한다.
이 main 외에 추가적으로 method 를 생성하여 main method 에서 호출할 수 있다.
이를 메소드 정의라고 한다.
public static void print_method (int value){ ... } 는 print_method 의 정의이다.
소괄호 안에는 변수 value 의 선언이 위치해 있다.
main 에서 print_metho(255); 를 통해 메소트를 호출하는데 이를 메소드 호출문 이라고 한다.
여기서 255이 int value 에 전달 되는데 이렇게 전달되는 값을 받기 위해 선언된 변수를 가리켜 매개변수라 한다.
매개변수는 메소드 호술시 선언되어 전달되는 값을 저장하고 선언된 메소드 내에서만 유효한 변수이다.
매개변수는 여러개가 될수 있고 없을 수도 있다.
메소드는 입력뿐만 아니라 출력도 만들 수 있는데 이를 값의 반환이라 한다.
메소드의 이름 왼편에는 메소드가 반환하는 값의 자료형 정보를 삽입하게 되어있다.
main 의 경우 메소드의 이름 앞에 void 가 붙는데 이는 return 이 없다는 뜻이다.
print_method 를 살펴보면 앞에 int 가 붙는다.
이는 int 형 값을 반환 한다는 뜻이다.
위의 코드는 print_method 가 실행하여 value 값을 출력하고 result 에 return 값을 대입하고
그 후에 result 값을 출력하는 형태이다.
return 은 값의 반환 뿐만 아니라 메소드의 종료로도 쓰일수 있는데
메소드내에서 return 문이 실행되면 값이 반환 되면서 메소드의 실행이 종료된다.
이를 이용하여 특정 지점에서 메소드가 종료되도록 사용할 수 있다.
2. 변수의 스코프
변수의 스코프란 임의의 변수에 대한 변수의 접근 가능 영역 또는 변수가 소멸되지 않고 존재 할 수 있는 영역을 의미한다.
중괄호로 특정 영역을 감싸면, 해당 영역은 변수에 관한 별도의 스코프를 형성하게 된다.
이는 변수가 해당 중괄호에서만 사용 가능하며 해당 중괄호를 벗어나는 순간 소멸되어 접근이 불가능한 변수가 된다는 말이다.
위의 코드에서 나타난 바와 같이 main 에서 선언된 result 라는 변수를 print_method 라는 메소드 에서는 사용 할 수 없다.
이렇게 중괄호 내에서 선언된 변수들을 가리켜 지역 변수(Local Variable) 이라 한다.
이러한 지역 변수는 선언된 지역을 벗어나면 메모리 상에서 삭제된다.
3. 재귀(Recursion) 호출
재귀는 어려운 문제의 해결에서 많이 사용되는 방법이다.
메소드가 자기 스스로를 호출하는 방식을 뜻하는데 가장 대표적인 문제가 팩토리얼이다.
5! = 5 * 4 * 3 * 2 * 1
이 식을 다시 쓰면
5 * 4!
로 표현되는데 이러한 순환 구조를 발견하여 재귀 호출을 사용할 수 있다.
이와 같이 메소드를 계속적으로 반복하여
5*4!
4*3!
3*2!
2*1
로 이어지는 재귀가 코드로 표현되었다.
'JAVA' 카테고리의 다른 글
[JAVA] 패키지 (Package) (자바 독학하기9) (0) | 2021.06.21 |
---|---|
[JAVA] 클래스와 인스턴스 ( Class & Instance) (자바 독학하기 8) (0) | 2021.06.08 |
[JAVA] 실행 흐름 컨트롤 (자바 독학하기 6) (0) | 2021.06.07 |
[JAVA] 연산자 (Operator) (자바 독학하기 5) (0) | 2021.06.03 |
[JAVA] 상수(Constants) (자바 독학하기 4) (0) | 2021.06.03 |