250825 TIL

2025. 8. 25. 18:02·내배캠 끄적끄적/Today I Learned

📖 학습 계획, 배운 것

  • Java 2차원 배열 ~ 메서드 학습
    • 2차원 배열
      arr[행][열]
      1차원 배열과 사용법은 똑같으나 행열 개념의 구성인 것만 차이점으로 확인할 것

      행열 개념의 예제는 아래와 같이 구성하여 연습을 진행함
      더보기
      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;
            }
        }
        

         

         

  • 메서드는 크게 메서드 선언과 메서드 본문으로 나눌 수 있다.
    • 메서드 선언을 통하여 내용을 정의하고 필요할때 불러서 사용하는 개념이다.
    • 메서드 본문은 메서드가 수행해야 하는 코드 블록이고, 메서드 호출 시 메서드 본문이 순서대로 실행되는 개념

    • 메서드 호출 시에는 메서드에 넘기는 값과 매개변수의 타입이 맞아야 하며 순서와 갯수가 맞아야 한다.
  • 메서드 정의
    • 메서드는 다음과 같이 정의한다.
      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
'내배캠 끄적끄적/Today I Learned' 카테고리의 다른 글
  • 250827 TIL
  • 250826 TIL
  • 250822 TIL
  • 250821 TIL
stark77
stark77
하마의 IT 자기개발 이모저모, 백엔드 개발자로 거듭나기
  • stark77
    하마의 개발자 성장일기
    stark77
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 컴퓨터구조와 운영체제
        • 컴퓨터구조
        • 운영체제
      • SQL 기초
      • Spring
        • 백엔드 기초
        • Spring 실습
      • JAVA
        • Java 실습
      • HTML&CSS
        • HTML&CSS 실습
      • Git&GitHub
        • Git&GitHub 실습
      • 내배캠 끄적끄적
        • Today I Learned
      • 유용한 툴 및 사이트 정리
      • 취미
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Java 문법기초
    SpringSecurity
    웹소켓
    네트워크 기초
    algorithm
    백엔드 기초
    RestTemplate
    git
    for문
    실시간 데이터 처리
    thymleaf
    경합조건과 교착상태
    JPA
    WebSocket
    다형성
    Spriingboot
    MVC
    jsp
    백엔드 기초다지기
    Til
    객체지향
    객체지향프로그래밍
    String.format
    프로세스와 쓰레드
    Github
    java
    HTML&CSS
    Stomp
    BEAN
    Spring
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
stark77
250825 TIL
상단으로

티스토리툴바