자바 스터디 할래 2주차 과제 자바 데이터 타입, 변수 그리고 배열

2021. 8. 8. 17:40Java

 

  • 프리미티브 타입과 레퍼런스 타입
    • Primitive Type(원시형) → 원시타입은 정수,실수,문자,논리 리터럴을 직접 저장하는 타입을 말한다. → Stack memoty에 저장
    • Reference Type(참조형) → 원시형을 제외한 모든 형을 참조형이라고 한다. → 빈 객체를 의미하는 NULL을 설정할 수 있다. → Heap Memory에 저장된다.
  • 리터럴(literal)
    • 변수의 초기 값은 코드에서 직접 입력하는 경우가 많은데, 소스 코드 내에서 직접 입력된 값을 리터럴(literal)이라고 부른다.
      example) 
      1 1.0 '1' 1L "one" true false null​
  • 변수 선언 및 초기화하는 방법
    → 변수는 변수형을 먼저 쓰고서 변수 이름을 지정한다. 그리고 =을 이용해서 초기화하는 데이터를 입력한다. 예를 들면 아래와 같다.

    변수형 변수이름 = 초기화하는 데이터;
    int test = 10;​
  • 변수의 스코프와 라이프타임
    • 변수는 선언된 블록내에서만 사용이 가능하다. 블록을 벗어나게 되면 사용할수도 없고 변수의 사용이 끝나게 된다.

 

  • 타입 변환, 캐스팅 그리고 타입 프로모션
    • 데이터 타입을 다른 데이터 타입으로 변환하는 것을 말한다.
      • 타입 변환 2가지 종류
        1. 자동(묵시적) 타입변환(Promotion)
          -> 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것을 말한다. 자동 타입 변환은 작은 크기를 가지는 타입이 큰 크기를 가지는 타입에 저장될 때 발생한다. 
        2. 강제(명시적) 타입변환
          -> 큰크기의 타입은 작은 크기의 타입으로 자동 타입 변환을 할 수 없다. 그래서 강제적으로 큰 데이터 타입을 작은 데이터 타입으로 쪼개어서 저장한다. 이러한 것을 강제타입변환(Casting)이라고 한다.
    • 1차 및 2차 배열 선언하기
      1. 1차원 배열
        → 같은 타입의 데이터형을 저장할 수 있는 구조 따라서 같은 타입의 데이터만 저장할 수 있다.

        1)
        타입[] 변수;
        int[] arr = new int[3];
        
        2)
        타입 변수[];
        int arr[] = new int[3];
        -> 참고로 이 방식 보다는 위에 방식을 주로 사용한다.
        
        3) 
        int[] arr = new int[]{1,2,3};​


      2. 2차원 배열
        -> 1차원 배열에서 행과 열로 구성된 배열이다. 

        1)
        타입[][] 변수;
        int[][] arr = new int[3][2];
        
        2)
        타입 변수[][];
        int arr[][] = new int[3][2];
        -> 참고로 이 방식 보다는 위에 방식을 주로 사용한다.
        
        3) 
        int[][] arr = new int[][]{{1,2,3},{4,5,6}};​
  • 타입 추론, var
    • 개발자가 명시적으로 변수의 타입을 지정하지 않고 컴파일러가 알아서 변수의 타입을 추론하는 것
    • var 라는 변수형으로 선언 가능하다. 이것은 Java11에서 처음 생긴 기능이다.
      1) var는 초기화 없이 사용할 수 없다.
      2) var는 초기값이 있는 지역변수로만 선언이 가능하다
      3) var는 null 값이 들어갈 수 없다. 
      4) 배열을 선언할 때는 var대신 타입을 명시해야한다.
      5) var는 런타임 오버헤드가 없다.​

 

 

참고 자료 : 

이것이 자바다 신용권의 Java 프로그래밍 정복