Processing math: 100%
본문 바로가기
Research & Studies/Android Studio

[Android Studio] 안드로이드 스튜디오 - 자료형

by ITholic-sicm 2021. 1. 10.

안드로이드 스튜디오 - 자료형


이전 강의에서 안드로이드 변수 개념 및 선언하는 방법에 대해서 알아 보았습니다. 해당 내용이 궁금하시다면 아래 링크를 참조해주세요.

-안드로이드 스튜디오 변수 개념 및 선언 방법

 

[Android Studio] 안드로이드 스튜디오 - 변수 개념 및 선언

안드로이드 스튜디오 - 변수 개념 및 선언 이전 강의에서 안드로이드 프로젝트를 성공적으로 생성해보았습니다. 프로젝트 생성 방법은 아래 링크를 참조하시면 됩니다. -안드로이드 스튜디오

wonderlands2.tistory.com

1. 자료형

자료형이란 이전에 변수를 담는 상자의 형체를 정의하는 것입니다. 기본적으로 코틀린은 참조형 자료형(Reference Type)을 사용하고 있습니다. 어려운 내용은 아직은 다루지 않고 간단히 이야기해서 상자에 넣는 값(정수, 소수, 문자, 문자열)에 따라알아서 자료형을 지정해주는 것입니다. (또한 자동으로 성능최적화에 따라 기본형으로 변경되기도 합니다.)

val number = 111  // Int형으로 지정

예를 들어 위와 같은 경우 111을 알아서 Int형으로 생각하고 사용하게 됩니다.

 

자료형은 정수, 실수, 논리, 문자, 문자열 자료형이 있습니다. 간략히 설명해 보도록 합시다.

 

(1) 정수

 

정수는 양수, 음수, 0을 나타내며 코틀린에서의 정수는 i) 양의 정수만 표현, ii) 모든 부호 표현 두 가지로 나누어집니다. 따라서 표현하고 싶은 숫자 범위에 맞게 정수 자료형을 사용해주면 됩니다. 정수의 경우 보통 Int로 지정됩니다.

val number = 111  // Int형으로 지정

 

i) 양의 정수만 표현

자료 형식 자료형 크기 범위
양의 정수
(Unsigned - 부호가 없음)
ULong 8바이트 0 ~ 264-1
UInt 4바이트 0 ~ 232-1
UShort 2바이트 0 ~ 216-1
UByte 1바이트 0 ~ 28-1

부호가 없는 경우에는 코틀린이 자동으로 판단하지 않으니 타입을 지정해 주어야 합니다. 타입을 지정하는 부분은 맨 마지막에 이야기해보도록 하겠습니다.

 

ii) 모든 부호 표현

자료 형식 자료형 크기 범위
모든 부호 정수 Long 8바이트 -263 ~ 263-1
Int 4바이트 -231 ~ 231-1
Short 2바이트 -215 ~ 215-1
Byte 1바이트 -27 ~ 27-1

 

(2) 실수

 

실수 자료형은 실수를 표현하기 위하여 사용합니다. 실수의 경우 보통 Double로 기본 지정됩니다.

val fnumber = 1.444  // Double형으로 지정

 

자료 형식 자료형 크기 범위
실수 Double 8바이트 4.9e-324 ~ 1.7e+308
Float 4바이트 1.4e-45 ~ 3.4e+38

 

(3) 논리 (Boolean)

 

논리 자료형은 참/거짓을 표현하는 것으로 흔히 해당 계산 혹은 검증 값이 참인지 거짓인지 판단할때 사용합니다.

val Bnumber = true  // Boolean 자료형으로 지정
자료 형식 자료형 크기 범위
논리 Boolean 1비트 True/False

 

(4) 문자 

 

문자 자료형은 하나의 문자를 표현하기 위한 자료형으로 아래와 같이 값을 '로 표현합니다. 

val charx = 'x'  // char 자료형으로 지정
자료 형식 자료형 크기 범위
문자 Char 2바이트 0 ~ 215-1

 

(4) 문자열

 

문자 자료형은 문자를 표현하기 위한 자료형으로 아래와 같이 값을 "로 표현합니다. 문자열은 배열로 저장하고 있기 때문에 따로 기본형이 존재하지 않습니다.

val charx = "xman"  // 문자열 자료형

 

(5) 자료형 지정 

 

이제 자료형을 강제로 정해주는 방법에 대해서 알아 보도록 합시다. 코틀린에서는 기본적으로 자동으로 자료형을 지정해준다고 했습니다. 그럼에도 불구하고 왜 자료형을 지정해서 사용하는 경우가 있을까요?

 

i) 첫 번째로 원하는 값 만큼만 값이 필요한 경우입니다. 정수의 경우 Int가 기본 자료형인데 byte만큼만 필요하다면 굳이 int로 만들필요가 없겠죠. 또는 양의 정수 값만 (Unsigned) 필요한 경우 지정해주어야 합니다. 지정 방식은 '변수명 : 자료형'과 같이 선언해주면 됩니다.

val number: byte = 111  // byte형으로 강제 지정
val number1: Ubyte= 15 // 양의 정수 byte형으로 지정

 

ii) 두 번째로는 직관적인 코드 구성을 위해서 선언하는 경우가 있습니다. 이 부분은 취향의 문제인데 결국은 현업에서 다른 개발자 분들과 코드를 공유하며 작업을 하기 때문에 코드 가독성을 위하여 지정해주는 것입니다. 이런 경우에 코드에 바로 자료형이 명시되어 있기때문에 보다 직관적으로 코드 분석이 가능합니다.

이렇게 긴 코드의 가독성 향상!

다음 시간에는 메소드에 대해서 이야기해보도록 하겠습니다.

 

감사합니다.

반응형

댓글