일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java spring
- 타입
- REACT
- Hooks
- 자바스프링
- 환경설정
- SQL 연산자
- Flex Box 기본
- node.js
- java설치
- 객체지향프로그래밍
- Eclipse
- Flexbox Froggy
- 리액트
- SQL
- 노마드코더
- 관계형데이터베이스
- HTML5
- ubuntu
- 이클립스
- 오산대맛집
- 자바 스프링
- 스프링
- spring
- numpy
- SQL 명령어
- spring 환경설정
- SQL 문제
- 람다식
- 플랙스박스기본
- Today
- Total
이것저것
참조 타입 본문
* 참조 타입 변수
- 객체의 메모리 주소를 저장
-> 객체를 가리킨다.(pointing)
-> 객체를 참조한다.(referencing)
* JVM 메모리 구조
* 상수 풀(constant pool)
- https://deveric.tistory.com/123
* 변수가 저장되는 위치(JVM 메모리)
- 정적 변수(클래스 변수, 정적 필드, 클래스 필드): Method(Class, Static) Area
- 인스턴스 변수(인스턴스 필드): Heap (Object Area)
- 지역 변수(로컬 변수): Stack Area
cf.) 문자열 리터럴: String Constant Area in Heap
* ==, != (동등 비교 연산자)
- 변수에 저장된 값이 같은지 다른지 비교
- 변수에 저장된 값은 실제값(기본 타입) 또는 객체의 주소(참조 타입)
* 자바의 GC 동작 방식
* 토큰?
- 찾아보세요
* 배열 (자료구조의 일종)
- 배열 요소(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
- 열거형에서 지정된 값을 사용하는지 컴파일할 때 알 수 있는 장점