<이공계전문기술연수> 13. 참조 타입 / 참조 변수

2019. 8. 15. 13:51· 이공계전문기술연수/Java

데이터 타입(data typte)

기본타입(primitive type)

  참조타입

정수타입
byte
char
short
int
long

배열타입
열거타입
클래스
인터페이스

실수타입
float
double
논리타입
boolean

 

기본 타입과 참조 타입

 

기본타입 : byte, char, short, int, long, float, double boolean 변수는 실제 값을 변수 안에 저장한다.

참조타입 : 배열, 열거, 클래스, 인터페이스 변수는 메모리의 번지를 변수 안에 저장한다.

            번지를 통해 객체를 참조한다는 뜻에서 참조 타입 이라고 한다.

 

 

메모리 사용 영역

 

JVM(JAVA Virtual Machine)

 

메소드 영역(Method Area)

JVM이 시작할 때 생성되고 모든 스레드가 공유하는 영역

사용되는 클래스들을 클래스 로더로 읽어 클래스별로 정적 필드(static field) 와 상수(constant), 메소드 코드,

생성자 코드(constructor) 등을 분류해서 저장

 

힙 영역(Heap Area)

객체와 배열이 생성되는 영역

여기에 생성된 객체와 배열은 JVM 스택 영역의 변수나 다른 객체의 필드에서 참조

만일 참조하는 변수나 필드가 없다면 의미 없는 객체가 되기 때문에 JVM이 이것을 쓰레기 수집기(Garbage Collector)를

실행시켜 자동으로 제거

 

JVM 스택 영역

메소드를 호출할 때마다 프레임(Frame)을 추가(push)하고 메소드가 종료되면 해당 프레임을 제거(pop)하는 동작을 수행

프레임 내부에는 로컬 변수 스택이 있는데, 기본 타입 변수와 참조 타입 변수가 추가(push)되거나 제거(pop)됨

스택 영역에 변수가 생성되는 시점은 초기화가 될 때, 즉 최초로 변수에값이 저장될 때

변수는 선언된 블록 안에서만 스택에 존재하고 블록을 벗어나면 스택에서 제거

 

 

'이공계전문기술연수 > Java' 카테고리의 다른 글

<이공계전문기술연수> 15. Java 배열(2) (복사/버블정렬/로또/다차원)  (0) 2019.08.15
<이공계전문기술연수> 14. Java 배열(1)  (0) 2019.08.15
<이공계전문기술연수> 12. Java 반복문: while문 / break문  (0) 2019.08.13
<이공계전문기술연수> 11. Java 반복문: for문 // Math.random()  (0) 2019.08.13
<이공계전문기술연수> 10. Java 조건문 switch문  (0) 2019.08.11
'이공계전문기술연수/Java' 카테고리의 다른 글
  • <이공계전문기술연수> 15. Java 배열(2) (복사/버블정렬/로또/다차원)
  • <이공계전문기술연수> 14. Java 배열(1)
  • <이공계전문기술연수> 12. Java 반복문: while문 / break문
  • <이공계전문기술연수> 11. Java 반복문: for문 // Math.random()
임쟌
임쟌
임쟌
Jian's Blog
임쟌
전체
오늘
어제

공지사항

  • [자기소개]
  • 쟌's Blog (227)
    • Language (32)
      • Python (8)
      • Go (24)
      • Java (0)
    • Framework (10)
      • Django (9)
      • Gin (1)
      • Spring boot (0)
      • Fiber (0)
    • Database (10)
      • PostgreSQL (8)
      • MySQL (0)
      • Redis (2)
    • Server (51)
      • Linux (16)
      • Git (12)
      • Oracle Cloud Infrastructure (13)
      • Mac (4)
      • Docker (4)
      • RabbitMQ (0)
      • ETC (2)
    • Operating System (0)
      • OS (0)
    • Algorithm (22)
      • Go (22)
      • Python (0)
    • Exam Certification (4)
    • Daily Life (27)
      • Review (21)
      • Diary (6)
    • 이공계전문기술연수 (71)
      • Java (17)
      • Database (8)
      • HTML | CSS (13)
      • JavaScript | jQuery (6)
      • Servlet | JSP (16)
      • Spring Framework (11)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
임쟌
<이공계전문기술연수> 13. 참조 타입 / 참조 변수
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.