이것저것

참조 타입 본문

카테고리 없음

참조 타입

곰태태 2023. 9. 1. 11:05
반응형
SMALL

* 참조 타입 변수

 - 객체의 메모리 주소를 저장

  -> 객체를 가리킨다.(pointing)

  -> 객체를 참조한다.(referencing)

 

* JVM 메모리 구조

- https://inpa.tistory.com/entry/JAVA-%E2%98%95-JVM-%EB%82%B4%EB%B6%80-%EA%B5%AC%EC%A1%B0-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%98%81%EC%97%AD-%EC%8B%AC%ED%99%94%ED%8E%B8

 

* 상수 풀(constant pool)

 - https://deveric.tistory.com/123



* 변수가 저장되는 위치(JVM 메모리)

 - 정적 변수(클래스 변수, 정적 필드, 클래스 필드): Method(Class, Static) Area

 - 인스턴스 변수(인스턴스 필드): Heap (Object Area)

 - 지역 변수(로컬 변수): Stack Area

  cf.) 문자열 리터럴: String Constant Area in Heap



* ==, != (동등 비교 연산자)

 - 변수에 저장된 값이 같은지 다른지 비교

 - 변수에 저장된 값은 실제값(기본 타입) 또는 객체의 주소(참조 타입)

 

* 자바의 GC 동작 방식

 - https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EA%B0%80%EB%B9%84%EC%A7%80-%EC%BB%AC%EB%A0%89%EC%85%98GC-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC



* 토큰?

 - 찾아보세요

 

* 배열 (자료구조의 일종)

 - 배열 요소(element)

 - 연속된 공간(contiguous)

 - 배열 요소는 모두 같은 데이터 타입(Homogeneous Data Type)

 - 크기(size) = 길이(length) : 요소 개수

 - 크기가 결정되면 변경할 수 없음

 - 배열 요소 접근: 색인(index), 대괄호



* 값 목록 → 배열 리터럴

 

* 배열 리터럴로 배열 생성할 때는 반드시 배열 참조 변수를 선언과 동시에 초기화할 때만 가능

 

* 기본값(Default Values)

 - 기본 타입: 0, 0.0, ‘\u0000’, false

 - 참조 타입: null

 

* 변수 자동 초기화

 - 정적 변수, 인스턴스 변수, 배열 요소

 - 로컬 변수는 자동 초기화 되지 않음

 

* 배열의 길이와 문자열의 길이를 구분하자.

 - 배열의 길이: 배열이름(=배열참조변수이름).length  : 필드

 - 문자열의 길이: String 객체.length() : 메서드

 

* 배열 복사

 - 얕은 복사(shallow copy) vs. 깊은 복사(deep copy)

 - 찾아보세요.

 

* Enhanced for loop

 - Java 1.5

 - for each loop 라고도 함

 - 카운터 변수 불필요

 - Enhanced for loop에 사용할 수 있는 사용자 정의 클래스가 되려면

   : Iterable 인터페이스 구현해야 함

 - 여러 요소를 담고 있는 배열, 컬렉션과 같은 자료구조의 항목을 순회할 때 유용

 

for (int i = 0; i < arr.length; i++) {

}

아래처럼 변경 가능

 

for (int elem : arr) {

}

 

* Enum

 - 열거형에서 지정된 값을 사용하는지 컴파일할 때 알 수 있는 장점

 

반응형
LIST
Comments