Java

[스터디 2주차] 자바 데이터 타입, 변수 그리고 배열

msmn 2020. 11. 21. 21:59
728x90

목표

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

학습할 것

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

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

정수형 : bytes, short, int, long, char

소수형 : float, double

논리형: boolean

 

 

 

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

1) Primitive Type(기본형 타입)

프리미티브 타입은 정수, 실수, 문자 등 총 9가지 타입을 미리 정의하여 제공한다.

기본값이 있기에 Null이 존재하지 않는다. 넣고 싶다면 래퍼 클래스를 활용한다.

- 실제 값을 저장하는 공간으로 스택 메모리에 저장된다.

- 컴파일 시점에 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다. 주로 문법상의 에러가 많다.

 

2) Reference Type(참조형 타입)

프리미티브 타입을 제외한 타입들이 모두 레퍼런스 타입이다.

빈 객체를 의미하는 Null이 존재한다.

- 값이 저장된 주소값을 저장하는 공간으로 힙 메모리에 저장된다.

- 문법상으로는 에러가 없지만 실행시켰을 때 에러가 나는 런타임 에러가 발생한다.

Ex) 객체나 배열을 Null 값으로 받으면 NullPointException이 발생하므로 변수값을 넣어야 한다.

리터럴

상수는 값을 가지나 변하지 않는 변수이다. 반면에 리터럴은 값 그 자체이다. 예시로 1, '1', "1" 에서 리터럴은 1 이다.

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

int a; //변수 선언(기본자료형) a = 10; //초기화

Student student //변수 선언(참조자료형)

student = new Student();

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

변수의 종류

  • 지역 변수

    지역 변수를 선언한 중괄호 안에서만 유효하다

  • 매개 변수

    메소드가 호출될 때 생명이 시작되고, 메소드가 끝이나면 소멸한다.

  • 인스턴스 변수

    객체가 생성될 때 생명이 시작되고, 그 객체를 참조하고 있는 다른 객체가 없으면 소멸한다.(Garbage Collector가 소멸시킨다)

  • 클래스 변수

    클래스가 처음 호출될 때 생명이 시작되고, 프로그램이 끝이나면 소멸한다

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

타입 캐스팅(명시적 변환) : 큰 자료형에서 작은 자료형으로 타입을 변환할 때 사용

타입 프로모션(묵시적 변환) : 작은 자료형에서 큰 자료형으로 타입을 변환할 때 사용

int a = 10; float b = a;

System.out.print(a); System.out.print(b); // 결과 : 10 // 10.0

float a = 10; int b = (int)a;

System.out.print(a); System.out.print(b); // 결과 : 10.0 // 10

타입 캐스팅을 할 때는 (int)처럼 명시적으로 적어주어야한다.

1차 및 2차 배열 선언하기

int[] a; int b[] = {1,2,3} // 배열의 크기는 3

int[] c = new int[4]; // 초기값 0

String[] str = new String[4] // 초기값 ""

Student[] st = new Student[4]; // 초기값 null

st[0] = new Student(); // 참조자료형 배열

int[][] d = new int[2][2];

int[][] e = new int[3][]; // 가변크기

타입 추론, var

타입추론은 타입을 명시하지 않아도 알아서 변수의 타입을 찾아가는 것을 뜻한다. 자바에서도 10버전 이후로 타입추론이 가능한 var를 지원한다.

 

Reference

gbsb.tistory.com/6

 

자바의 데이터 타입(Primitive type, Reference type)

타입(Data type)이란 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 것이다. 자바에서 타입은 크게 기본형 타입과 참조형 타입이 있다.

gbsb.tistory.com

 

728x90