자바(JAVA)/미니 프로젝트 & 기초 공부

Java 기초 또 다시 공부하기 7일차 - 배열, 열거 타입

개발학생 2025. 6. 2. 19:38
반응형

1. 배열

1) 배열이란?

  • 같은 타입의 데이터를 연속된 공간에 나열한 후, 각 데이터에 인덱스(index)를 부여한 자료구조
  • 배열도 객체이므로 힙 영역에 생성되고, 배열 변수는 참조 변수에 속하며 힙 영역의 배열 객체를 참조 
  • 사용 예시

배열 사용 예시

2) 배열 선언 형식

  • 타입[] 변수명;
  • 타입 변수명[];

3) 배열 생성

int[] scores = { 100, 90, 80 };
String[] alphabets = new String[] {"A", "B", "C"};  // new String[] 부분은 생략 가능
int[] intArray = new int[10];  // 배열 길이가 10이며, 0~9인덱스까지의 값은 0으로 채워짐

4) 배열 길이 확인

  • 변수명.length;

5) 명령 라인 입력

  • main() 메서드의 매개값인 String[] args는
    메서드가 실행될 때 명령행 인자(Command Line Arguments)를 전달받기 위한 매개변수
    • 외부 입력을 받아 프로그램 실행 방식 변경: 프로그램 실행 시 사용자 입력을 받아 더 유연한 기능을 구현하기 위함 
    • 동적인 값 전달: 실행 시 값을 입력받아 코드 수정 없이 다양한 상황에 대응
    • 자동화 및 스크립트 실행: 명령어와 함께 실행할 값을 전달하여 배치 작업을 쉽게 수행

6) 이차원 배열

  • 예를 들어 이차원 배열을 int[][] scores = new int[2][3];으로 정의하면, 다음과 같은 결과 출력

이차원 배열 예시

  • 길이 출력: 이차원 배열의 전체 길이를 출력하려면 변수명.length를, 내부 한 행의 길이를 확인하려면 변수명[i].length를 사용

이차원 배열 길이 출력 예시

7) 객체를 참조하는 배열

  • 기본 타입 배열은 각 항목에 직접 값을 갖고 있지만, 참조 타입(클래스/인터페이스) 배열은 각 항목에 객체의 번지를 갖고 있음
    • 예를 들어 String도 클래스이므로 String[] 배열은 각 항목에 String 객체의 번지를 갖고 있음 
      -> 따라서 배열 항목 간 문자열을 비교할 할 때는 String처럼 == 연산자 대신 .equals() 메서드 사용 

8) 배열을 활용한 향상된 for문 예시

배열을 활용한 향상된 for문

2. 열거 타입

  • 한정된 값인 열거 상수(enumeration constant) 중 하나의 상수를 저장하는 타입

열거 타입 선언 및 변수 사용 예시

열거 타입 선언 및 변수 사용 예시

반응형