[JAVA] 자바 데이터 타입, 변수 그리고 배열 #2

1

이 포스팅은 백기선님이 2020년 11월 진행하신 라이브 스터디과정을 토대로 작성되었습니다. 아래 URL에 들어가시면 다른 분들이 정리하신(그리고 제가 참고한) 자료들이 올라와 있습니다.
https://github.com/whiteship/live-study/issues/2

==========================================================

목표

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

학습할 것

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

==========================================================

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

프리미티브 타입?

  • 기본자료형 or 원시자료형이라고 불림
  • 값을 할당할 때 변수의 주소값에 값이 그대로 저장되는 데이터 타입
  • 값이 할당되면 JVM Runtime Data Area의 stack영역에 값이 저장됨

종류

  • byte, short, signed/unsigned int, signed/unsigned long, float, double, boolean, char

출처: https://velog.io/@jaden_94/2주차-항해일지

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

레퍼런스 타입?

  • 참조자료형 이라고 불림
  • 값이 할당되면 JVM Runtime Data Area의 heap영역에 할당됨
  • 프리미티브 타입은 변수를 선언할 때 메모리에 고정된 크기로 저장되고, 변수에 데이터 값 자체를 저장하지만 레퍼런스 타입은 변수를 선언할 때 크기가 정해져있지 않고 값에 할당된 heap의 주소가 저장되어 있음

종류

  • class, interface, enum, array, String type

3. 리터럴

  • 소스코드의 고정된 값(변하지 않는 값)
  • 프로그래밍 상의 리터럴 == 상수
  • 이러한 상수는 메소드 영역에 저장됨
  • 자바의 리터럴 사용법: 변수 앞에 "final"을 붙이면 됨
int a = 10;			//리터럴은 10
final int a = 10;		//상수로 선언된 값

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

변수의 선언

  • 변수를 선언한다 == 메모리에 데이터를 저장할 공간을 지정해준다
  • 변수가 선언되면, 변수 타입에 따라 메모리에 용량이 할당됨

변수의 초기화

  • 명시적 초기화, 생성자 활용 초기화가 있음

1) 명시적 초기화

//변수타입 변수명 = 초기화 값;
int a = 10;

2) 생성자 활용 초기화

// 1. 기본 생성자
Phone phone = new Phone();
phone.name = "iPhone 11";
phone.color = "purple";

// 2. 매개변수가 정해진 생성자가 정의되어 있을 경우
Phone phone = new Phone("iPhone 11", "purple");

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

변수의 스코프

  • 변수가 존재할 수 있는 영역
  • 스코프에 따라 클래스 변수, 인스턴스 변수, 지역 변수로 나뉨

0개의 댓글