안녕하세요. 디버깅하는 노인입니다.

 

이전 시간에 숫자 데이터 타입에 대해서 알아보았습니다.

 

이번 시간에는 숫자 데이터 타입 이외에 다른 타입들에 대해서 알아보도록 하겠습니다.

 

숫자 이외에 타입들은 다음과 같은 종류들이 있습니다.

 

 

1) 문자 타입(Char)

 

2) 문자열 타입(String)

 

3) Boolean 타입

 

 

먼저 첫 번째 문자 타입에 대해서 알아보도록 하죠.

 

 

 

1. 문자 타입(Char)

 

문자란 여러분들이 아시는 그대로 단 하나의 문자를 의미 합니다.

 

 

'A' 혹은 'ㄱ'

 

위와 같이 어떤 단어를 이루는 것이 아닌 하나의 문자만을 표현할 때 문자 타입인 Char을 사용하게 됩니다.

 

Char 형 데이터 타입을 이용하게 되면 "안녕하세요" 와 같이 문자열을 입력할 수 없습니다.

 

인텔리제이를 통해서 알아볼까요?

 

 

 

사진에서 볼 수 있듯이 char 형 데이터 타입은 오직 1개의 문자만 입력 받을 수 있습니다.

 

잘못된 Char 타입 선언이라고 적어놓은 부분을 보시면

 

char b = "a"; 가 오류라고 나와 있습니다.

 

일반적인 프로그래밍에서는 문자열을 표현할 때 큰 따옴표(" ")를 사용합니다.

 

하지만, char를 통해서 문자를 표현 할때는 작은 따옴표(' ')를 사용해야 합니다.

 

그래서 char b = "a";가 오류라고 표기 되는 것이죠.

 

 

 

만약 문자열을 표현 했다면 어떨까요?

 

char c = 'Hello'; 도 역시 오류가 발생합니다.

 

작은 따옴표를 이용해서 올바르게 입력했지만 Hello라는 문자열을 넣었기 때문에 오류가 발생합니다.

 

 

따라서, 하나의 문자를 표현할 때는 작은 따옴표와 함께 1개의 글자만 넣어야 합니다.

 

 

 

2. 문자열 타입(String)

 

문자열은 여러 개의 문자가 모여 단어 혹은 문장을 이룰 때 문자들의 줄이라는 표현으로 문자열이라고 합니다.

 

그래서 Hello 혹은 안녕하세요 등 문장이나 단어를 표현하기에 적합한 데이터 타입인 것이죠.

 

실제 프로그래밍에서는 Char 보다는 String을 보다 많이 사용하는 편입니다.

 

인텔리제이를 통해 알아봅시다.

 

 

 

위 사진에 대해서 설명드리면

 

올바른 선언 방식은 String a = "Hello"; 입니다.

 

만약 큰 따옴표가 아닌 작은 따옴표를 사용하게 되면 String b = 'Hello'; 처럼 오류가 발생합니다.

 

한편, String 선언 당시 String의 s를 소문자로 적을 경우에도 오류가 발생합니다.

 

자바에서는 String 선언 시 s는 반드시 대문자로 적어야 하기 때문이죠.

 

 

"그렇다면 문자열 표현 중 만약 특수문자도 표현 될까요?"

 

물론 표현 가능합니다.

 

 

String을 통해 특수 문자도 표현 해보죠.

 

 

 

위 화면은 Shift + 1 부터 0까지 특수 문자를 입력한 내용입니다.

 

 

 

 

Console로 출력한 결과 우리가 입력한 순서대로 정상적으로 출력됩니다.

 

그렇다면 큰 따옴표와 작은 따옴표는 어떨까요??

 

 

 

 

 

큰 따옴표와 작은 따옴표를 표현하려고 하면 오류가 발생합니다.

 

 

왜 오류가 발생하나요?

 

큰 따옴표와 작은 따옴표는 프로그래밍에 이미 정의된 기능이 있기 때문입니다.

 

앞서 설명드렸지만 큰 따옴표는 문자열을 표현하고 작은 따옴표는 문자를 표현하는 기능이 있습니다.

 

그래서 큰 따옴표 안에 또 다른 따옴표가 들어가면 인식이 되지 않고

 

그냥 또 다른 문자열을 받고자 준비하기 때문이죠.

 

String b = " " " "; 이런식으로 선언하면 오류가 나는 이유입니다.

 

 

 

"엇 그런데 작은 따옴표는 오류가 안나네요?"

 

네 맞습니다.

 

큰 따옴표 안에 작은 따옴표가 위치 할 때는 정상적으로 표현이 됩니다.

 

" '안녕하세요' " 이렇게 데이터가 입력이 된다면

 

실제 출력되는 것은 '안녕하세요' 이런 식으로 출력이 됩니다.

 

하지만, 작은 따옴표 안에 큰 따옴표를 넣으면 오류가 발생합니다.

 

String d = ' " " '; 이런 식으로 선언하면 위 사진과 같이 빨간 줄이 그어지죠.

 

 

 

"그래도 어떻게든 따옴표도 출력하고 싶어요! 출력할 수 있는 방법이 있나요?"

 

네 물론 있습니다.

 

이때는 이스케이프 시퀀스(Escape Sequence)라는 기능을 통해서 출력이 가능하죠.

 

이스케이프 시퀀스는 이름이 너무 거창해 보이지만 그렇게 거창한 기능을 가지고 있진 않습니다.

 

이스케이프(Escape)라는 것은 "피한다"라는 뜻을 가지고 있고

 

시퀀스(Sequence)는 행동 혹은 사건 이라는 뜻을 가지고 있습니다.

 

합쳐서 이스케이프 시퀀스어떤 행동을 피한다는 뜻이 되는 데

 

이때 '행동'이라는 것은 프로그래밍에서 원래 기능을 피해간다는 의미 입니다.

 

 

앞서 큰 따옴표는 문자열을 표현하는 기능을 가지고 있습니다.

 

하지만, 이 기능을 피해서 단순 문자열로 치환한다는 것이죠.

 

그렇다면 인텔리제이에서 이스케이프 시퀀스를 한번 써보도록 하죠.

 

 

 

3. 이스케이프 시퀀스(Escape Sequence) 사용하기

 

이스케이프 시퀀스를 사용하는 방법은 아주 쉽습니다.

 

 

선언 방법 :  \ + [원하는 특수문자]

 

 

구체적인 코드로 한번 살펴보죠.

 

 

 

저는 "안녕하세요" 이렇게 있는 그대로 표현하고 싶습니다.

 

이럴 경우엔 String escape1 = " \" 안녕하세요 \" "; 로 코드를 작성해 출력하면 아래와 같이 출력됩니다.

 

 

 

 

 

정말 있는 그대로 출력이 되었죠?

 

 

"\ 이 표시는 뭔가요??"

 

\ 이것은 백슬래시(Backslash)라고 합니다.

 

흔히 한국 내에서는 역슬래시 혹은 역슬래쉬 이런식으로 표현하는 데

 

원래 영어 표현은 backslash 입니다.

 

 

 

 

보통 윈도우 환경에서는 원화 표시(\)가 되어 보일 것입니다.

 

그 이유는 마이크로소프트 기본 한국어 글꼴에 이 백슬래시를 원화 기호로 그리도록 하기 때문이죠.

 

 

정리하면 이 백슬래시와 원하는 특수문자 따옴표라든지 백슬래시라든지 등등 같이 쓰게 되면 원래 기능이 아닌 문자 그대로 출력이 가능하게 됩니다.

 

한편, 일반 슬래시(/)는 이스케이프 시퀀스 없이도 출력이 가능합니다.

 

그래서 위 예제에서 보듯 백슬래시 없이도 출력이 가능하죠.

 

 

 

4. Boolean 데이터 형을 알아보자

 

이번에는 Boolean 데이터 형에 대해서 알아보도록 하죠.

 

Boolean은 흔히 우리가 아는 논리 체계인 참, 거짓을 구별해주는 데이터 형입니다.

 

프로그래밍에서는 참 거짓을 True와 False로 표현하고 있죠.

 

그리고 실제 컴퓨터는 True값을 1, False 값을 0으로 인식하고 있습니다.

 

인텔리제이에서 확인 해볼까요?

 

 

 

boolean을 선언할 때는 boolean a = true; 혹은 false로 표현합니다.

 

출력을 한번 해볼까요?

 

 

 

 

 

TRUE 출력

앞서 선언을 True로 했기 때문에 값 또한 True로 출력이 됩니다.

 

 

"boolean은 언제 쓰나요?"

 

우리가 앞으로 공부하게 될 if 명령문을 사용할 때 많이 사용합니다.

 

만약에 어떤 값이 참이나 거짓이냐를 판별하고 참일 경우 진행될 로직

 

거짓일 경우 진행될 로직 이런식으로 논리를 분기 처리할 수 있습니다.

 

이 부분은 추후 if 문에 대해서 공부할 때 자세히 설명드리겠습니다.

 

 

이렇게 해서 오늘 String, char, boolean에 대해서 알아보았습니다.

 

처음 접하시는 분들은 아주 어렵게 느껴지실 수 있으나 찬찬히 살펴보고 코드를 직접 입력하시다 보면 어느정도 개념을 익히실 수 있을 것입니다.

 

궁금한 사항이 있으시면 댓글을 남겨주세요.

 

빠른 시간 내에 답글 남겨드리도록 하겠습니다.

 

오늘도 긴글을 읽어주셔서 감사합니다.

 

다음에 더 좋은 내용으로 찾아뵙겠습니다.

블로그 이미지

개발토끼

,