1. 메서드
1.1 메서드의 기본형태
//메서드의 기본 종류
//method signature(fuction prototype)
(static)[return type] method_name(parameter)
//method body
{
명령문;
}
1.2 parameter 와 argument
void names(String name){
//String name : parameter
}
void main(String[] args){
name("james");
// "james" : argument
}
- parameter : 로컬변수로 메서드를 호출할 때 생성되어 메서드가 종료 될때 JVM stack에서 제거된다.
- argument : parameter에 전달되는 값
1.3 JVM stack
- 매서드가 호출 되면 JVM stack 메모리 영역에 메서드 Frame이 생성
- LIFO 구조로 순차적으로 호출 및 종료 된다.
1.4 메서드 호출과 JVM stack
- JVM stack 영역에 메서드가 call이 있으면 생성을 하고 return이 있으면 삭제를 한다.
1.5 재귀함수
- 메서드를 중복해서 호출 할 수 있으며, 이를 재귀함수라고 한다.
- 재귀함수의 깊이가 깊어지면 stack 메모리를 초과하여 stack overflow를 발생시킨다.
1.6 call by value
- 메서드를 호출할 때 primitive data type을 파라미터에 넘긴다.
- 자바에서는 primitive data type에 대해서 메모리(변수) 주소를 넘기는 방법이 없다.
1.7 call by reference
- 메서드를 호출 할 때 주소를 넘긴다.
package study.lang.method;
public class Test09 {
public static void main(String[] args) {
int[] values = new int[] {100, 110, 120};
m1(values);
System.out.println(values[0]);
}
static void m1(int[] value) {
value[0] = 200;
}
}
'개발자 꿈나무의 하루 > 01_Boot Camp' 카테고리의 다른 글
(네이버클라우드 부트캠프) 15일차 - 실습프로젝트(클래스) (1) | 2024.06.14 |
---|---|
(네이버클라우드 부트캠프) 14일차 - 실습프로젝트(서브메뉴만들기) (1) | 2024.06.13 |
(네이버클라우드 부트캠프) 12일차 - Java프로그래밍 기초(표준입출력,String), 실습프로젝트(메서드) (1) | 2024.06.11 |
(네이버클라우드 부트캠프) 11일차 - Java프로그래밍 기초(조건문,반복문,배열), 실습프로젝트 (0) | 2024.06.11 |
(네이버클라우드 부트캠프) 10일차 - Java프로그래밍 기초(연산자) (0) | 2024.06.07 |