본문 바로가기
2022-2/seminar

자바 | 7장 레퍼런스 타입

by 이망고_ 2022. 2. 14.

목차

1. 레퍼런스 타입

  • 캐스트 연산자
  • instanceof 연산자

2. 열거 타입

  • enum, values, valueof

 

레퍼런스 타입

  • 프리미티브 타입(primitive type, 기초 타입) : 자바 키워드로 정의된 데이터 타입
  • 레퍼런스 타입(reference type, 참조 타입) : 프리미티브 타입들을 기초로 만들어진 데이터 타입
  • 레퍼런스 변수를 다른 레퍼런스 변수에 대입하면 객체가 복사되는 것이 아니라 참조값만 복사됨
  • 레퍼런스 타입의 파라미터를 메소드에 넘겨주면 실제로 메소드에 전달되는 것은 참조값임

 

캐스트 연산자

우변의 값을 좌변에 대입하기 전에 좌변의 변수에 대입할 수 있는 타입으로 변환(캐스트 연산)이 필요

obj2 = (CheckingAccount) obj2: 

( ) : 캐스트 연산자임

 

instanceof 연산자

객체의 캐스트 연산 가능성을 검사하는 연산자로, 캐스트 연산이 가능할 때에는 true, 불가능할 때에는 false를 리턴한다

obj instanceof CheckingAccount

 

열거 타입

한정된 값만을 갖는 데이터 타입

예) 요일(열거 타입 이름) : 월, 화, 수, 목, 금, 토, 일 (열거 상수)

     계절(열거 타입 이름) : 봄, 여름, 가을, 겨울(열거 상수)

enum Season{

       Spring, Summer, Fall, Winter

}

선언

Season season:

열거타입 변수이름

 

season = Season.Spring

            열거타입이름. 열거상수이름

 

values 메소드와 valueof 메소드

  • values 메소드 : 열거 타입에 속하는 모든 열거 상수들을 배열에 담아서 리턴하는 메소드
  • valueof 메소드 : 열거 상수의 이름을 문자열로 넘겨주면, 그에 해당하는 열거 상수를 리턴하는 메소드