Java

[Java-5] 참조 타입 (문자열, 배열, 열거)

zamezzz 2017. 1. 24. 23:30

 [Java-5] 참조 타입


안녕하세요.


오늘은 JAVA의 참조 타입에 대해 정리하겠습니다.


참조 타입이라고해서 생소하게 느껴질수도 있겠는데요.


알고보면 이 또한 익숙한 개념입니다.


여기서는 아래 목차와 같이 살펴보겠습니다.



■ 데이터 타입

■ Null

■ String 타입

■ 배열 타입

■ 열거 타입




데이터 타입


먼저 데이터 타입에 대해 정리하고 시작하겠습니다.


이번 포스팅에서 다룰 참조 타입의 상위 개념이 바로 데이터 타입인데요.


데이터 타입에는 크게 2가지의 하위 개념이 있습니다. 기본 타입과 참조 타입이라고 합시다!


기본 타입 - 정수(char, int, long 등), 실수(float, double), 논리(boolean)등의 타입

참조 타입 - 배열, 열거, 클래스, 인터페이스 등 객체의 '번지'를 참조하는 타입


즉 참조 타입은 객체가 가진 번지를 통해 객체를 참조한다고 생각하시면 됩니다.


그럼 이제부터 각 참조타입에 대해 알아보겠습니다.


null


첫 번째는 null입니다.


참조 타입 변수는 객체를 참조하지 않는다는 뜻으로 null 값을 가질 수 있습니다.


NullPointerException에 대해서도 알아볼까요


참조 타입 변수가 Null을 가지고 있을 경우, 참조 타입 변수를 사용했을 때 발생합니다.


참조할 객체가 없기에 발생하는 예외처리이죠.


코드를 작성할 때 주의해야 할 부분입니다.


■ String 타입


문자열을 저장하기 위해 사용되는 String 변수입니다.


문자열은 String 객체로 생성되고, 변수는 String 객체를 참조합니다.


사용 방법은 아래와 같습니다.


String 변수 = "문자열";


사용 코드는 뒤에서 함께 보겠습니다.


■ 배열 타입


배열이란? 같은 타입의 데이터를 연속된 공간에 나열시키고, 각 데이터에 인덱스를 부여해 놓은


자료구조라고 정의하고 있습니다.


위의 그림은 많이 익숙한 그림이죠? 0부터 시작되는 인덱스를 가지는 공간이 있죠.


그리고 그 안에 데이터가 연속적으로 나열되어 있습니다.


자바에서 배열 또한 크게 다르지 않습니다.


사용 방법은 아래와 같습니다.


- 배열 선언 (2가지 방법이 있습니다)

int[] array1;

int array2[];


- 배열 생성

int array[];

array = new int{1, 2, 3, 4};


선언 및 생성 방법만 잘 익히시면 될 것 같습니다. 배열의 개념 및 사용법은 같습니다!


배열의 예제코드를 함께 보겠습니다!



문자열과 배열 두 가지를 동시에 테스트 해보았습니다.


문자열은 쉽게 위의 내용을 바탕으로 출력하였습니다.


배열은 5칸의 크기를 가진 배열 선언 후, for문을 이용해 값을 할당하고 출력하였어요. ^^



■ 열거 타입


요일, 계절 등과 같이 한정된 값만 갖는 경우가 있습니다.


이와 같이 한정된 값만을 갖는 데이터 타입이 열거타입 (enum) 입니다.


열거타입을 선언하기 위해서는 보통 열거 타입 이름으로 된 자바 파일을 생성해야 합니다.


사계절을 예로 들어 설명해보겠습니다.


먼저 enum파일을 생성해야겠지요. [우클릭] -> [new] -> [Enum]을 클릭합니다.


name은 Season이라고 명시할게요. 이후 Finish를 클릭합니다. 그리고 아래처럼 작성합니다.




이제 생성된 Season을 사용해보도록 하겠습니다. 사용방법은 다음과 같습니다.


열거타입 변수 = 열거타입.열거상수;


한글로 하니 이해가 좀 어렵죠.... 이해가 쉽도록 직접 코드와 결과를 보겠습니다.



main에서 활용은 위와 같이 할 수 있습니다.


단순 계절, 요일 등이 아니더라도 열거할 수 있는 형태이면 위처럼 enum타입을 생성하고


쉽게 관리할 수 있습니다.



이상으로 참조타입에 대한 부분을 정리하고 실습하였습니다.


다음 시간에는 좀 더 심화된 내용을 가지고 포스팅 하겠습니다. 감사합니다.


반응형

'Java' 카테고리의 다른 글

[Java-7] 클래스  (0) 2017.01.30
[Java-6] 객체와 클래스  (1) 2017.01.28
[Java-4] 조건문과 반복문  (0) 2017.01.23
[Java-3] 연산자  (0) 2017.01.23
[Java-2] 변수 및 데이터 타입에 대해  (0) 2017.01.22