2013.01.03. Java Method, Array
Java Resource : 변수, 메서드 → 객체 → 클래스 → Package → Application
변수 : 데이터 값을 담기 위한 그릇
메서드 : 변수를 사용하기 위한 기능 (특정한 데이터를 특정한 결과물로 도출하기 위한 기능을 수행)
메서드 구성 Tip) ① 도출하려는 결과값을 생각한다. ② 요구되는 데이터값을 생각한다. ③ 어떻게 기능을 구현할 것인가 생각한다.
Method
메서드의 형식 |
9메서드의 예 |
접근제어자 static 데이터리턴형 메서드명 (인자들 arguments parameters) { … 메서드 내용 … } |
public int getAverage(int sum) { int average = sum / 3; return average; } |
메서드 사용의 이유 : 중복되는 코드를 메서드로 구성함으로써 코드의 중복을 막기 위해서.
메서드 호출시 가장 중요한 것은 인자의 항목수와 데이터의 형태가 정확하게 일치해야 한다는 것이다.
메서드 활용의 예
package kosta.exam; public class Method_Exam { public static int getAverage(int sum) { int average = sum / 3; return average; } public static void main(String[] args) { int num = average(100); System.out.println(num); } } |
… static 키워드에 대해서 … return하는 변수값의 데이터 형태에 따라서 리턴형은 달라진다. 예를 들어 좌측의 구문이 return String데이터 라면 메서드의 리턴형은 String이 되어야한다. 메서드에서 출력하는 변수값이 없을 경우 리턴형에 데이터타입 대신 void를 지정한다. … 메서드의 호출 호출하고자 하는 메서드가 static이 선언된 클래스 메서드이기 때문에 객체를 생성하지 않고도 메서드 호출이 가능하다. 실제 메서드 호출을 위해선 객체를 생성해야 한다. |
배열의 선언
1차원 배열의 선언 : int[] arr = new int[3];
2차원 배열의 선언 : int[][] arr = new int[3][2]
2차원 배열의 생성 예
arr[0] |
arr[1] |
arr[2] |
arr[0][0] |
arr[1][0] |
arr[2][0] |
arr[0][1] |
arr[1][1] |
arr[2][1] |
2차원 배열과 중첩for문의 적용 예
int[][] arr = new arr[3][2];
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
System.out.println(arr[i][j]);
}
}
인덱스 크기가 동일한 2차원 배열 생성 방법 3가지
1) int arr[][]; arr = new int[3][2];
2) int arr[][] = new int[3][2];
3) int arr[][] = {{1, 2}, {3, 4}, {5, 6}};
인덱스 크기가 일정하지 않은 2차원 배열의 생성 방법
int arr2[][] = new int[3][]; arr2[0] = new int[2]; arr2[1] = new int[3]; arr2[2] = new int[4]; |
|
IF) 2차원 배열에서 1차원 배열값만을 호출한다면?
public static void main(String[] args) {
int[][] array = new int[2][2];
array[0][0] = 1;
array[0][1] = 2;
array[1][0] = 3;
array[1][1] = 4;
System.out.println(array[0]);
}
※ [I@1f6226 등의 참조주소값이 리턴된다.
곧, 1차원 배열 array는 1과 2, 3과 4를 가진 배열을 참조하는 주소값들을 가진다.