📖 학습 계획, 배운 것
- Java 2차원 배열 ~ 메서드 학습
- 2차원 배열
1차원 배열과 사용법은 똑같으나 행열 개념의 구성인 것만 차이점으로 확인할 것arr[행][열]
행열 개념의 예제는 아래와 같이 구성하여 연습을 진행함
더보기package array; public class ArrayDi0 { public static void main(String[] args) { // 2x3 2차원 배열을 만든다. int[][] arr = new int[2][3]; //행(row), 열(column) arr[0][0] = 1; //0행, 0열 arr[0][1] = 2; //0행, 1열 arr[0][2] = 3; //0행, 2열 arr[1][0] = 4; //1행, 0열 arr[1][1] = 5; //1행, 1열 arr[1][2] = 6; //1행, 2열 //0행 출력 System.out.print(arr[0][0] + " "); //0열 출력 System.out.print(arr[0][1] + " "); //1열 출력 System.out.print(arr[0][2] + " "); //2열 출력 System.out.println(); //한 행이 끝나면 라인을 변경한다. //1행 출력 System.out.print(arr[1][0] + " "); //0열 출력 System.out.print(arr[1][1] + " "); //1열 출력 System.out.print(arr[1][2] + " "); //2열 출력 System.out.println(); //한 행이 끝나면 라인을 변경한다. } }
실행 결과
위와 똑같은 실행 결과를 도출해내기 위해 리펙토링을 통해 코드를 보다 간단하게 만들 수 있음
package array; public class ArrayDi3 { public static void main(String[] args) { // 2x3 2차원 배열, 초기화 int[][] arr = { {1, 2, 3}, {4, 5, 6} }; // 2차원 배열의 길이를 활용 for (int row = 0; row < arr.length; row++) { for (int column = 0; column < arr[row].length; column++) { System.out.print(arr[row][column] + " "); } System.out.println(); } } } - 향상된 for문
더보기배열을 사용할 때 기존 for문 보다 더 편리하게 사용할 수 있음
for (변수 : 배열 또는 컬렉션) { // 배열 또는 컬렉션의 요소를 순회하면서 수행할 작업 }- 일반 for문과 동일하게 작동한다.
- 향상된 for문은 배열의 인덱스를 사용하지 않고 배열의 요소를 순회할 수 있기 때문에 코드가 간결하고 가독성이 좋다.
- 메서드
- Java에서 사용하는 함수를 메서드라고 한다
메서드 또한 함수의 한 종류라고 생각하면 된다. 아래의 예시를 통해 메서드를 활용하여 동일하게 작동하는 코드를 비교할 수 있다.
더보기예제 1
package method; public class Method1 { public static void main(String[] args) { //계산1 int a = 1; int b = 2; System.out.println(a + "+" + b + "연산 수행"); int sum1 = a + b; System.out.println("결과1 출력" + sum1); //계산2 int x = 10; int y = 20; System.out.println(x + "+" + y + "연산 수행"); int sum2 = x + y; System.out.println("결과2 출력" + sum2); } }예제2
package method; public class Method1Ref { public static void main(String[] args) { int sum1 = add(5, 10); System.out.println("결과1 출력: " + sum1); int sum2 = add(15,20); System.out.println("결과2 출력: " + sum2); } //add 메서드 public static int add(int a, int b) { System.out.println(a + "+" + b + " 연산 수행"); int sum = a + b; return sum; } }
- Java에서 사용하는 함수를 메서드라고 한다
- 2차원 배열
- 메서드는 크게 메서드 선언과 메서드 본문으로 나눌 수 있다.
- 메서드 선언을 통하여 내용을 정의하고 필요할때 불러서 사용하는 개념이다.
- 메서드 본문은 메서드가 수행해야 하는 코드 블록이고, 메서드 호출 시 메서드 본문이 순서대로 실행되는 개념
- 메서드 호출 시에는 메서드에 넘기는 값과 매개변수의 타입이 맞아야 하며 순서와 갯수가 맞아야 한다.
- 메서드 정의
- 메서드는 다음과 같이 정의한다.
public static int add(int a, int b) { //메서드 본문, 실행 코드 } 제어자 반환타입 메서드이름(매개변수 목록) { 메서드 본문 }
- 제어자(Modifier) : public, static과 같은 부분
- 반환 타입(Return Type) : 메서드가 실행 된 후 반환하는 데이터의 타입을 지정. 메서드가 값을 반환하지 않는 경우, 없다는 뜻의 void를 사용해야 함. 예) void print(String str)
- 메서드 이름(Method Name) : 메서드의 이름이다. 이름은 메서드를 호출할 때 사용
- 매개변수(Parameter) : 입력 값으로, 메서드 내부에서 사용할 수 있는 변수, 매개변수는 옵션이며 입력값이 필요 없는 메서드는 매개변수를 지정하지 않아도 됨
- 메서드 본문(Method Body) : 실제 메서드의 코드가 위치한다. 중괄호 {} 사이에 코드를 작성
- 메서드는 다음과 같이 정의한다.
📝 학습 간 궁금한 부분
- 특정 조건을 통하여 배열의 크기를 제한하고자 할 때 반드시 변수 선언을 통하여 지정을 해줘야 하는가?
- 현재는 정적인 배열의 크기를 할당하고 입력하는 프로그램을 작성하였으나, 이후 ArrayList를 통하여 동적인 배열 생성도 가능함
- ArrayList란?
- 배열을 기반으로 한 컬렉션 중 하나이며 데이터 추가, 삭제 시 동적으로 길이를 조정해주는 것
💡느낀점 및 보완 필요사항
- 배열의 구성과 코드 작성을 통해 간단한 프로그램과 배열에 데이터를 저장하는 개념의 학습을 진행했음
- 배열에 저장되는 값은 항상 0행, 0열부터 시작함을 유의할 것!
'내배캠 끄적끄적 > Today I Learned' 카테고리의 다른 글
| 250827 TIL (6) | 2025.08.27 |
|---|---|
| 250826 TIL (4) | 2025.08.26 |
| 250822 TIL (0) | 2025.08.22 |
| 250821 TIL (2) | 2025.08.21 |
| 250819 TIL (2) | 2025.08.19 |
