본문 바로가기

IT/Java

2013.01.03. Java Method, Array




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 키워드에 대해서

(원본 : rockdrumy님의 글)

… 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를 가진 배열을 참조하는 주소값들을 가진다.