본문 바로가기
[JAVA]/[혼공자]

[혼공자] 참조타입 요약본

by 북방바다코끼리표범 2023. 10. 1.

복습

https://shins99.tistory.com/89

 

[혼공자] 조건문과 반복문 요약본

복습 https://shins99.tistory.com/88 [혼공자] 연산자 요약본 복습 https://shins99.tistory.com/85 [혼공자] 변수와 타입 요약본 변수 변수는 1개의 데이터를 저장하는 공간 · 변수 : 값을 저장할 수 있는 메모리

shins99.tistory.com


참조 타입과 참조 변수

- 자바는 객체 지향 언어임, 그래서 객체가 컴퓨터 어디에 저장되고 실행되는가 중요함

 

 *      기본타입 : byte, short, char, int, long, float, double, boolean 타입
       
스택방에 값이 저장됨

 *      참조타입 : 기본 타입을 제외한 자료형(타입) 배열, 열거형, 객체
           
스택방에 힙방번호(주소) 저장됨 -> 힙방에 값이 저장됨

 *      JVM(java) 메모리 구조 : 메소드방(정적변수/상수, 함수, 생성자, 클래스코드) , 스택방(지역변수/매개변수), 힙방(객체, 배열)

 *      비교연산자(==) : 기본타입에서 사용되면 비교, 참조타입에서 사용되면 방번호(주소) 비교

 *      null : 초기화 null 초기화하는 것은 자바에서 피하는 것이 좋음

       ( null 포인트 예외 발생 가능서 높음 : 강제 프로그램 중단, 다른 서비스까지 중단 시킴 )

 *      null 포인트 예외 : 객체에 null 넣어놓고, 객체의 함수 변수를 호출할 경우 대부분 발생.

 

 배열

- 변수는 1개의 데이터만 저장되므로, 저장되어야 데어터 많아지면 불편함. 배열은 많은 양의 데이터를 적은 코드로 손쉽게 처리할 있음

 

 *      배열 : 같은 자료형(타입) 데이터를 연속된 공간에 나열하고, 인덱스를 부여해 놓은 자료구조(자바에서는 배열도 객체로 취급)

 *      인덱스 : 배열 항목에 붙인 번호, 0 ~ n까지 범위

 *      배열 선언 : 자료형[] 변수;

 *      배열 생성 :
          1)
자료형[] 변수 = {1, ... n}; // 이때는 선언과 생성을 항상 1라인으로 작성해야함 (분리하면 컴파일 에러 발생)
           2)
자료형[] 변수 = new 자료형[길이];
           3)
자료형[] 변수 = new 자료형[길이] {1, ...., n}; // 이때는 선언과 생성을 분리 작성해도 가능함

                                      (2라인으로 작성 가능)

 *      배열 길이 : 배열에 저장할 있는 항목() 개수, .length 배열 개수를 있음(읽기 전용)

 *      다차원 배열 : 배열 값이 또다른 배열일 경우 다차원 배열이라고
         
자료형[][] 변수 = new 자료형[행크기][열크기]
         
자료형[][] 변수 = { {1, ... n}, {1,... n} } // 바깥 {} : (바깥 for), 안쪽 {} : (안쪽 for),

 *      향상된 for : for(자료형 변수 : 배열) {반복문}, 반복 실행 위해 증감식 사용하지 않음

                             (배열의 끝까지 자동 증가되면서 실행됨)
        
반복할 때마다 변수에는 배열에서 가져온 값이 하나씩 저장됨

 

 열거 타입

- 몇가지로 한정된 데이터일(상수) 경우 열거 자료형을 고려함( 요일, 계절 )

 

 *      열거 타입 : 가지로 제한된 상수를 가지는 타입

 *      열거 타입 선언 : enum 타입 { 상수1, 상수2, ... 상수n }

 *      열거 상수 : 열거 자료형(타입) 선언 주어진 상수
        
사용법 : 열거형이름.상수명 ex) Week.MONDAY

 *      열거 타입 변수 : 열거 자료형으로 선언된 변수.
          ex) Week today = Week.FRIDAY; // today
열거 자료형 변수임

'[JAVA] > [혼공자]' 카테고리의 다른 글

[혼공자] 상속 요약본  (0) 2023.10.02
[혼공자] 클래스 요약본  (1) 2023.10.01
[혼공자] 조건문과 반복문 요약본  (1) 2023.09.30
[혼공자] 연산자 요약본  (0) 2023.09.30
[혼공자] 변수와 타입 요약본  (0) 2023.09.26