1-5. 자료형 - 참조 자료형, 배열, 코딩 실력 향상 꿀팁

백종석·2022년 5월 12일
0

자바 문법 뽀개기

목록 보기
5/17
post-thumbnail
  • 1) Reference Type(참조 자료형)

    자바에서 참조 자료형은 기본 자료형이 아닌 모든 것을 참조 자료형이라고 합니다. 더 정확히는 참조 자료형이란 자바의 인스턴스를 가리킬 수 있는 자료형입니다. 인스턴스가 무엇인지는 뒤에 <객체지향 언어> 단원에서 배우도록 하겠습니다.

    • 클래스와 배열

      • [코드스니펫] 참조 자료형 - 예제(Main 함수)
      public class Main {
          public static void main(String[] args) {
      		// write your code here
      
          }
      }
      String sparta = "sparta !!";
      System.out.println(sparta);
       
      int[] intArray = new int[] {1,2,3,4,5}; // int 배열을 선언과  동시에 초기화
      System.out.println(Arrays.toString(intArray));
      • 이외에도 참조 자료형에는 열거, 인터페이스 타입 있습니다.
      • Java에서는 Primitive Type을 빼고는 모두 Reference Type입니다. 이것은 Java의 언어적인 특징에서 기인하는데요. 모든 클래스가 Object라는 클래스를 상 속 받기 때문인데요. 상속이 무엇인지는 뒤에가서 배우도록 하겠습니다.
    • 여기서 배열이란?

      • 동일한 자료형의 데이터를 연속된 공간에 저장하기 위한 자료구조입니다. 위의 예제에서는 정수형 변수를 저장하기위한 배열을 선언한 것이죠!
      • 왜 필요할까?
        → 10명의 학생의 점수를 입력할 경우, 배열을 사용하지 않으면 변수 10개를 선언해야합니다. 무척 귀찮은 과정이 될 것입니다. 또한 만약 10명이 아닌 100명, 1000명일 경우에는 코드가 너무 길어지죠. 이럴 때, 배열을 이용하면 짧고 간결하게 입력할 수 있습니다.
      • 자료형[] 변수 = new 자료형[배열의크기] 의 형태로 선언을 합니다.
      • 배열은 데이터를 순차적으로 저장하여 인덱스를 통해 자료에 접근할 수 있습니다. 여기서, 인덱스는 0 ~ (배열의 크기 - 1) 의 범위를 가집니다.
      • 예시를 한번 볼까요?
        • [코드스니펫] Main 함수
      public class Main {
          public static void main(String[] args) {
      		// write your code here
      
          }
      }
      • [코드스니펫] 배열 예제
      int[] intEmptyArray = new int[5]; // int의 5자리 배열 선언
      System.out.println(Arrays.toString(intEmptyArray)); // int    의 default 값 0으로 채워짐
      
      int[] intArray = new int[] {1,2,3,4,5}; // int 배열을 선언과 동시에 초기화
      System.out.println(Arrays.toString(intArray));
      
      String[] stringEmptyArray = new String[5]; // 참조자료형 String의 5자리 배열 선언
      System.out.println(Arrays.toString(stringEmptyArray)); // 참조자료형은 값이 없을 경우 null(아무것도 없다) 이라는 표현으로 표시
      
      String[] months = {"1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"}; 
      System.out.println(Arrays.toString(months));
      int[] scores = new int[4]; // 배열 선언
      scores[0] = 5; //인덱스를 통해 배열에 값 입력
      scores[1] = 10;
      System.out.println(scores[1]); //인덱스를 통해 배열의 특정 값 출력
                  
      String[] months = {"1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"};
      // 이렇게 선언과 동시에 값을 입력할 수도 있습니다.
      System.out.println(months[7]); //인덱스를 통해 배열에 접근하여 특정 값 출력
                  
      int[][] arr = new int[4][3]; //배열을 활용하여 2차원의 배열도 만들 수 있습니다

💡 주의! 배열은 선언과 동시에 크기를 지정받습니다. 그러므로 고정된 크기를 가집니다.

💡 실제 프로그램이 돌아가면서 항상 고정된크기의 배열을 쓰기는 쉽지 않은데요. 그래서 실무에서는 대부분 배열보다는 ArrayList 라는 Collection을 씁니다. Collection, ArrayList 가 무엇인지는 뒤에가서 더 자세히 배울게요.

profile
항해중인 우당탕탕 코린이

0개의 댓글