ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바의 프리미티브 타입, 변수 그리고 배열
    Java 2021. 3. 11. 23:42

    목표

    자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다.

    학습할 것

    • 프리미티브 타입 종류와 값의 범위 그리고 기본 값
    • 프리미티브 타입과 레퍼런스 타입
    • 리터럴
    • 변수 선언 및 초기화하는 방법
    • 변수의 스코프와 라이프타임
    • 타입 변환, 캐스팅 그리고 타입 프로모션
    • 1차 및 2차 배열 선언하기
    • 타입 추론, var

    프리미티브 타입 종류와 값의 범위 그리고 기본 값

    프리티미티브(기본형) 타입은 크게 4가지로 나눌 수 있습니다.

    이는 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)로 나뉩니다.

    각 저장되는 값의 크기들은 사용하는 메모리 크기의 -2^(n-1) ~ +2^(n+1) 만큼의 값의 범위를 가집니다.

    출처: https://kingpodo.tistory.com/54

    프리미티브 타입과 레퍼런스 타입

    프리미티브 타입은 변수의 실제 값, 즉 data를 가지고 있습니다. 앞에 설명했던 타입들이 프리미티브 타입에 해당합니다.

    • boolean, char, byte, short, int, long, float, double

    레퍼런스 타입은 변수의 값이 저장되어 있는 memory address를 가지고 있습니다.

    • 이는 대표적으로 class 타입을 가진 변수들에 해당됩니다. class를 만든다는 것은 레퍼런스 타입을 만드는 것과도 같습니다.
    • 그 외에도 배열 타입, 열거 타입, 인터페이스 등도 포함됩니다.

    리터럴

    리터럴이란 용어가 나오게 된 이유에 대해서는 우선 '상수'에 대해서 알아야 합니다.

    예전부터 프로그래밍에서의 상수는 '값을 한번 저장하면 다시 바꿀 수 없는 저장공간'으로 정의하였습니다. (이는 자바에서 final키워드로 정의한 변수들을 말합니다.)

    그래서 이 둘을 구분짓기 위해, '리터럴(literal)' 이라는 용어를 사용하기 시작한 것입니다.

    변수 선언 및 초기화하는 방법

    변수의 선언은 타입 변수이름; 형식으로 선언합니다.

    int age;

    변수의 초기화는 = 키워드를 사용합니다.

    int age = 21;

    변수의 스코프와 라이프타임

    변수의 스코프란 변수에 접근하거나 접근할 수 있는 유효 범위를 의미합니다. 보통은 { 중괄호로 감싸진 영역}에 대해 변수의 스코프가 지정되게 됩니다.

    변수의 라이프타임은 변수가 메모리에서 살아있는 시간을 의미합니다.

    타입 변환, 캐스팅 그리고 타입 프로모션

    타입 변환은 캐스팅(강제변환), 프로모션(자동변환) 등이 있습니다.

    타입 캐스팅(type casting, 강제변환)은 자료형이 큰 크기를 작은 크기로 강제로 변환할 때 사용합니다. 이를 명시적 형변환 이라고도 합니다.

    long longValue = ...;
    int intValue = (int) longValue;

    타입 프로모션(type promotion, 자동변환)은 자료형이 작은 크기에서 큰 크기로 변환할 때 자동으로 일어납니다. 이를 묵시적 형변환 이라고도 합니다.

    int intValue = ...;
    char charValue = intValue;

    1차 및 2차 배열 선언하기

    1차원 배열의 선언은 다음과 같이 할 수 있습니다.

    • type[] varName;
    • type varName[];
    int[] ages;
    int ages[];

    2차원 배열을 선언하는 방법입니다.

    • type[][] varName;
    char[][] varName;

    타입 추론, var

    Java 10 버전 이상부터는, 타입의 유연함을 위해 var 키워드가 추가되었습니다.

    var 키워드를 사용해 변수 선언과 초기화를 동시에 하면, 컴파일러가 해당 변수에 대한 타입을 자동으로 파악합니다.

    참고 링크


    백기선님 자바 스터디 2주차 과제 - 링크

    * 오타와 오류 지적은 언제나 환영입니다.

    댓글

Designed by Tistory.