5.참조(혼공자)
by 개발하는지호5-1 참조 타입과 참조 변수
기본 타입 : byte, short, char, int, long, float, double, boolean 타입을 말하며 이들 타입의 변수에는 값 자체가 저장된다.
참조 타입: 기본 타입을 제외한 배열, 열거, 클래스, 인터페이스 등을 말한다. 참조 타입의 변수에는 객체의 번지가 저장된다. 번지로 객체를 참조한다는 의미에서 참조 타입이라고 한다.
메모리 사용 영역: JVM은 운영체제에서 할당받은 메모리 영역을 메소드 영역, 힙 영역, 스택 영역으로 구분해서 사용한다. 메소드 영역에는 정적 필드, 상수, 메소드 코드, 생성자 코드가 위치하며, 힙 영역에는 객체가 생성된다. 그리고 스택 영역에는 변수가 생성된다.
번지 비교 : 비교 연산자 (=, !=) 가 기본 타입에서 사용되면 값을 비교하지만, 참조 타입에서 사용되면 번지를 비교한다. ==이 ture가 나오면 같은 객체를 참조한다는 뜻이고 false가 나오면 다른 객체를 참조한다는 뜻. 객체 안을 비교한다면 A.equals(B)
null : 참조 타입 변수는 객체를 참조하지 않는다는 뜻으로 nulll 값을 가질 수 있습니다. 만약 null인 참조 변수를 통해 있지도 않은 객체의 필드나 메소드를 사용하면 NullPointerException이 발생한다.
5-2 배열
배열 : 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스를 부여해놓은 자료구조이다.
인덱스 : 배열 항목에 붙인 번호를 말합니다. 0번부터 시작하여 0~(배열길이 - 1)까지 범위를 갖습니다.
배열 선언 : 변수 선언과 비슷한데, 대괄호가 추가되어 타입[] 변수; 형태로 선언된다. int[] scores는 int 배열을 선언한다. 여기서 scores는 배열 변수라고 브른다.
배열 생성: 배열을 생성하는 방법은 두 가지이다. 하나는 { 값1, 값2, 값3 ... }처럼 값 목록으로 생성하는 방법이고, 다른 하나는 new 타입[길이1][길이2]; 이다. 변수.length는 1차원 배열의 길이1이 되고, 변수[인덱스].length는 해당 항목이 참조하는 2차원 배열의 길이2를 말한다.
향상된 for문 : for(타입 변수 : 배열) {} 를 말한다. 향상된 for문은 반복 실행을 하기 위해 루프 카운터 변수와 증감식을 사용하지 않는다. 배열의 항목 개수만큼 반복하고, 자동적으로 for문을 빠져나간다. 반복할 때마다 변수에는 배열에서 가져온 항목이 저장된다.
+
정수 타입 배열 항목의 기본 초기값은 0이다.
실수 타입 배열 항목의 기본 초기값은 0.0F 또는 0.0이다.
참조 타입 배열 항목의 기본 초기값은 null이다.
5-3 열거 타입
열거 타입: 열거 타입은 몇 가지로 제한된 상수를 가지는 타입을 말한다.
열거 타입 선언: enum 타입 { 상수, 상수, ... } 형태로 열거 타입을 선언합니다. 예를 들어 enum Week {MONDAY, ..., SUNDAY} 형태를 가진다.
열거 상수: 열거 타입 선언 때 주어진 상수를 말하며 타입.상수 형태로 사용한다. 예를 들어, Week 열거 타입의 상수 MONDAY는 Week.MONDAY로 사용한다.
열거 타입 변수: 열거 타입으로 선언된 변수를 말한다. 열거 타입 변수에는 열거 상수 중 하나가 대입된다. 예를 들면 Week today = new Week.FRIDAY; 에서 today가 열거 타입 변수이다.
+
열거 타입은 한정된 값을 갖는 타입이다.
열거 타입 변수에는 열거 타입에 정의된 상수를 대합할 수 있다.
열거 타입 변수에 null을 대입할 수 있다.
열거 상수는 관례적으로 대문자로 작성한다.
'개발 지식, 스크립트 > Java 문법' 카테고리의 다른 글
6-2클래스(필드) (0) | 2023.09.29 |
---|---|
6.클래스(혼공자)[6-1] (0) | 2023.09.27 |
4.반복문과 조건문(혼공자) (0) | 2023.09.20 |
3.연산자(혼공자) (0) | 2023.09.16 |
[변수와 타입02_2 기본 타입] (0) | 2023.09.07 |
블로그의 정보
DevSecOps
개발하는지호