본문 바로가기
Backend Study/나Java봐라~

자바 데이터 타입, 변수 그리고 배열

by DaSsom 2023. 8. 3.
  • 프리미티브 타입과 레퍼런스 타입
더보기
기본형 타입 (Primitive Type)
- 기본값이 있어서 null이 존재하지 않음.
- 실제 값을 저장하는 공간 → 스택에 저장됨
- byte, short, int, long, float, double, boolean, char

참조형 타입 (Reference Type)
- 빈 객체를 의미하는 null 존재함
- 실제 값이 아닌 값이 저장되어있는 주소값을 저장하는 공간 → 에 저장됨
- class, interface, enum, array, String
- 제네릭 사용 가능

  • 변수의 스코프와 라이프타임
더보기
변수의 스코프 : 변수가 접근할 수 있는 유효 범위 (즉, 스코프란 변수를 사용할 수 있는 영역)
- 변수가 선언된 블록 내에서만 변수에 접근할 수 있음

라이프타임 : 변수가 가지는 유효한 시간 (값을 담고 있을 수 있는 주기)
- 변수의 종류에 따라 다름

변수의 종류
- 어디에서 선언했나?
멤버변수 ( 클래스 영역에 선언 ) : 클래스 변수, 인스턴스 변수
지역 변수 ( 블럭 안에 선언 )

  • 타입 변환, 캐스팅 그리고 타입 프로모션
더보기
type 형변환 : 변수 또는 상수의 타입을 다른 타입으로 변환
- 연산을 수행하는 코드에서 같은 타입끼리 가능

Casting : 명시적 형변환, 큰 데이터 타입에서 작은 데이터 타입으로 형변환
Promotion : 자동/묵시적 형변환, 작은 데이터 타입에서 큰 데이터 타입으로 형변환

 


  • 1차 및 2차 배열 선언하기
더보기

- 배열 객체가 생성하려면 값 목록을 이용하거나 new 연산자를 이용하여 생성함
- 그래서 스택에는 주소값을, 힙에 실제 값이 들어있는 요소가 할당됨

 


  • 타입 추론, var
더보기

타입 추론 : 타입이 정해지지 않은 변수에 대해서 컴파일러가 변수의 타입을 스스로 찾아낼 수 있도록 하는 기능
- 타입을 명시하지 않아도 됨
- 코드량이 줄고 가독성이 높아짐
- JAVA 10부터 var 사용가능, JAVA 11부터 람다 타입에도 사용가능
- var는 컴파일러가 타입을 유추할 수 있도록 반드시 데이터 초기화해주어야함.

var intVal = 20;
var strVal = "string";
var list = new ArrayList<Integer>();

 


 

inpa님 블로그

 

☕ 그림으로 보는 자바 코드의 메모리 영역(스택 & 힙)

자바의 메모리 영역 이번 포스팅에선 자바(JAVA)를 사용하는 입장에서 알아야 할 메모리 구조 및 특징에 대해서 알아보려고 한다. 자바 프로그램이 실행되면 JVM(자바 가상 머신)은 OS로부터 메모

inpa.tistory.com

skyepodium님 블로그

 

[자바] 선언위치에 따른 변수의 종류 3가지

선언위치에 따른 변수의 종류 3가지 1. 클래스 변수, 2. 인스턴스 변수, 3. 지역변수에 대해 알아봅시다.

velog.io

혼공자

 

[Java] 자바 배열(array) 선언하고 생성하기

배열: 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스index를 부여해놓은 자료구조, 인덱스: 배열 항목에 붙인 번호. 0번부터 시작하며 0~(배열길이–1)까지 범위를 가짐, 배열

hongong.hanbit.co.kr

93jpark님 블로그

 

[Java] 타입 추론 var

타입 추론 이 글은 참조(https://velog.io/@composite/Java-10-에서-var-재대로-사용하기) 하였습니다. 타입추론은 정적 타이핑을 지원하는 언어에서, 타입이 정해지지 않은 변수에 대해서 컴파일러가 변수

93jpark.tistory.com