public static return_type 메소드_이름(formal parameter){
실행할 코드
return; void 일 경우에는 return이 없다
}
int z = 메소드_이름(actual parameter);
method를 호출핛 때 마다 JVM이 메모리에서 stack 영역에 생성하 는 정보 (메소드에서 선언핚 변수 젂체 정보)
Stack 영역을 call stack, execution stack, runtime stack, machine stack등으로 부름
Stack 의미 : LIFO(Last In First Out),
나중에 입력된 것을 맨 처음으로 읽음(삭제)
Method내 선언된 변수들 중 마지막에 선언된 변수가 stack 상단에 위치
- 문자열 리터럴 동일하다면 String 객체 공유
- new 연산자를 이용핚 String 객체 생성 힙 영역에 새로운 String 객체 생성 String 객체를 생성한 후 번지 리턴
String name1 = new String("신용권");
String name2 = new String("신용권");
//각기 다른 객체를 생성
System.out.println(name1 == name2);
//각기 다른 객체를 가지고 있기 때문에 false를 출력
System.out.println(name1.equals (name2));
//힙메모리에 있는 값을 비교하기 때문에 true출력
String name3 = "신용권";
String name4 = "신용권";
//문자열 리터럴이 같아 객체를 공유
System.out.println(name3 == name4);
//객채를 공유하기 때문에 true 출력
System.out.println(name3.equals (name4));
//힙메모리에 있는 값을 비교하기 때문에 true출력
특정 타입의 원소가 연속적으로 메모리에 할당된 데이터 타입을 말함
int arr[] =>
1) int [] : 배열 타입(배열 원소의 데이터 타입이 정수인 배열)
2) arr : 변수명
3) {10,20,30,40} : 배열의 초기값, 각각의 데이터를 배열 원소의 데이터로 설정한다는 의미
4) arr[index] => index는 0부터 시작한다.
//배열 선언의 방법 1
int[] arr = {10,20,30,40};
//벼열 선언의 방법 2
int[] arr4 = new int[4];
arr4[0] = 10;
arr4[1] = 20;
arr4[2] = 30;
arr4[3] = 40;
//향상된 for문이나 일반적인 for문을 통해 출력가능
for(int element : arr) {
System.out.println(element);
}
for(int i = 0;i < arr.length; i++) {
System.out.println(arr[i]);
}
//2차원 배열의 선언
String[][] gPerson = {
{"1","박철호","서울","회사원"},
{"2","김의실","경기","공무원"},
{"3","오수철","수원","연예인"},
{"4","수철","수원"}
};
//2차원 배열 또한 마찬가지로 향상된 for문을 통해 출력 가능
for(int[]i: gPerson) {
for(int j:i) {
System.out.println(j+" ");
}
System.out.println();
}
이번 강의는 실습이 많아 중요하다고 생각한 것들만 포스팅을 하였다.
추후의 포스트에서 더 각각을 더 자세히 포스팅 할 예정이다.