[유튜브 강의] (3) JAVA 초급 강좌 - 데이터 타입 (Data Type) - 2. 참조타입

2017. 2. 26. 16:53[유튜브 강의]- 센치한 개발자/[JAVA] 자바 기초 강의 - 완료

728x90
[센치한 개발자-유튜브 강의] (3) JAVA 초급 - 데이터 타입 (Data Type) - 2. 참조타입 :: 기초 강의









데이터 타입 (Data Type) - 2. 참조타입

[자료 목차]

1> 데이터 타입 

  (1) 기본 타입

  (2) 참조타입

    1) 클래스 

     1. 일반적인 클래스

     2. String 클래스

     3. 래퍼(wrapper) 클래스

    2) 배열

    3) 인터페이스




지난 시간의 기본타입을 잘 기억하고 계신지요?
기억이 나지 않으시면 딱 1분만 스으으윽 훑어보고 오시길 추천합니다~^^


데이터 타입의 2번째는 참조타입입니다.

*.사실 참조타입을 이해하려면 클래스, 배열, 인터페이스에 대한 개념이 선행학습되어야 하지 않을까 생각합니다만,
여기서 이해가 안되시는 경우에는 가볍게 읽기만 하시고, 추후에 클래스-배열-인터페이스 개념에 대해서 설명을 드릴때 그때 다시 이곳으로 돌아와서 읽어보시길 바랍니다~


1) 클래스
1. 일반적인 클래스
class 나 extends 아버지 {
}

나 본인 = new 나();


2. String 클래스


 String을 코딩에서 사용하는 형태를 보면 기본타입의 숫자나 논리형과 유사합니다. 그렇기에 기본타입으로 생각할 수 있지만, String은 "클래스"형태입니다.


간단히 생각하면,  char타입 자료형의 값들이 여러개 붙어있는 형태라고 생각하시면 됩니다.




3. 래퍼(wrapper) 클래스


예를 들어, 기본 타입이었던 byte~double 숫자들과 boolean 논리형들은 직접 값을 입력해야 하는 형태이기 때문에, "null"이라는 값으로 비울 수가 없습니다. 



+초급이 싫어




허나 이들 기본 타입을 null로 저장이 가능한 방법이 있지요.


바로 그것이 래퍼 클래스로 가능합니다.


아래 표를 볼까요.


기본타입 

래퍼클래스 

byte

Byte

short

Short

char

Char

int 

Integer

long 

Long

float

Float 

double

Double 

boolean 

Boolean 


*. int는 Integer라고 조금 다르고 나머지들은 첫글자를 대문자로 쓴 형태입니다.


아래와 같이 null을 사용할 수 있는 것이죠~

int i = null; //불가능합니다 ㅠㅜ
Integer ii = null; //가능합니다~*



+초급이 싫어



2) 배열


*.코딩 방법

int[] arr1 = new int[3]; //가능
int arr2[] = new int[3]; //가능
int arr3[] = { 1, 2, 3 }; //가능  -- int[] arr3 = { 1, 2, 3 }; 도 가능
int arr4[3] = new int[]; //에러

배열은 익숙한 녀석이 보이네요.

지난시간에 배웠던 int자료형의 모습이 보입니다.

배열은 위와 같이 특정한 자료형을 한번에 여러개 갖고 있는 녀석입니다.

1번 라인에서 처럼 "3"이라는 숫자는 값이 3이라는 의미보다도 int형 자료를 3개 갖고 있다고 생각하시면 됩니다. 


2, 3번 라인과 같은 방식도 가능합니다. 1번라인처럼 int뒤에 []를 바로 써도 되고, 2번 라인처럼 변수이름에 []를 쓰거나, 3번 라인처럼 크기를 뒤의 중괄호 {} 에서 정해도 됩니다. 1개만 들어있어도 배열로 만들 수 있습니다.

{ 1, 2, 3 }이 아니라 { 1 } 이렇게 사용해도 된다는 뜻이죠.



이 배열은 자바 프로그래밍을 열받게(?)하는 녀석 중-몇개 더 있습니다-하나로 유명합니다.

다름아닌 "인덱스(Index)"오류인데요, 3개를 갖고 있다고 분명히 변수를 만들었는데, 4번째 자료를 가져오라든가 하면 자바는 바로 "니가 3개짜리라며?? 4개째는 없어 임마, 배째"라고 하며 바로 뻗어버립니다.

프로그래머에게는 아주 애증의 관계이죠~ㅎㅎ



3) 인터페이스 

인터페이스의 개념은 지금은 이해하기 어려우므로 형태만 쓰윽 보기만 해주세요~ 추후 인터페이스 부분 강의에서 다시 돌아와주세요~ (떠나지마요...)

interface blank {
    void hello();
}

interface blank2 {
    void hello(T value);
}






728x90