kotlin

코틀린 독학 3일차 :: 변수와 자료형

yoneeee 2021. 2. 8. 21:13

코틀린 독학 3일차 

오늘 공부할 내용은 변수와 자료형이다.

변수와 자료형은 자바에서도 반복적으로 학습해서 그런지

낯설지 않은 늬낌..

본격적으로 공부를 해보자 ! 

변수와 자료형 

변수란 뭘까? 

뭔가 많이 들어는 봤지만 난 아직도 변수가 헷갈릴 때가 있다ㅠㅠ

변수를 쉽게 생각하면

값을 넣을 수 있는 상자이고 

상자에 담겨 있는 값을 자료형이라고 생각하면 쉽다.

-자료형에 따라 데이터를 담게 되는데

나이를 나타내는 30이라는 값은 정수인 Int,

이름을 나타내는 Lee는 문자열인 String,

몸무게를 나타내는 50.5 는 실수형인 Float

형태의 자료형을 가지게 된다.

-

변수 선언

변수는 val, var 라는 키워드를 이용해서 선언할 수 있다.

먼저 val, var의 차이점은 뭘까?

 

★ val - 최초로 지정한 변수의 값으로 값 변경 불가_ 읽기 전용 변수 

★ var - 변수 선언 후 초깃값이 있더라도 변경 가능 

변수 선언 방법

val과 var의 특성을 고려해서 변수를 선언하면 되는데.

val로 변수를 선언해 놓고 변경해야 할 떄 var로 수정하는 것을 권창한다고 한다.

이유는 이렇게 했을 떄 오류 발생 확률이 적어지기 때문이다.

-

변수 선언 방식을 알아보자

 

val 변수이름 : 자료형 = 값

예시로 변수를 선언해보겠다.

val username : String = "Seungyeon"

이런 식으로 변수가 선언 된다.

-

여기서 코틀린은 자료형을 지정하지 않고 

변수를 선언하면 변수에 할당된 값인 "Seungyeon" 을 보고 

알아서 자료형을 지정해준다.

이것을 "자료형을 추론한다" 라고 한다.

자료형을 추론하는 방식을 예시로 보면

 

val username = "Seungyeon"

이렇게 String 을 지정해주지 않아도 

코틀린이 자료형을 추론하여 username의 자료형을 String으로 결정한다.

-

하지만 !!

val username 

처럼 값이 할당되지 않은 변수는 사용할 수 없다.

 

변수 선언 실습

위의 코드와 같이 

number, language, secondNumber 변수 세가지를 각각 지정해주었다.

-

number와 language 는 따로 자료형을 지정해 주지 않았지만,

각각 int형, String 형으로 추론하여 출력 될것이고

SecondNumber은 Int형으로 지정해었다.

-

★ 자료형을 지정하지 않은 변수가 어떤 자료형으로 추론되었는지 확인하려면

변수를 클릭한 후 ctrl + shift + p 를 눌러 확인해볼 수 있다 

-

여기서 주목해야할 것은 language는

값을 변경할 수 있는 var 키워드로 선언되었기 때문에 

Korean 에서 English로 값을 변경한것을 확인할 수 있다.

한번 그럼 출력을 해보자.

정상적으로 값이 출력 된 것을 확인할 수 있다.

-

코틀린 자료형 알아보기

코틀린의 자료형을 알아보자.

-

보통 프로그래밍의 언어는 두가지로 구분되는데

기본형 자료형과 참조형 자료형으로 구별한다.

-

코틀린의 자료형은 "참조형 자료형"

-

■ 기본자료형 : 가공되지 않은 순수한 자료형

(int, long, float, double)

■ 참조자료형 : 객체를 생성하고, 동적 메모리 영역에 데이터를 둔 후 참조하는 자료형

(String, Date)

-

기본형과 참조형으로 선언한 변수를 코드로 같이보자

 

int a = 77; // 기본형

Person person = new Person(); //참조형으로 person 객체를 위해 참조 주소를 가짐 

아래 참조형 주소는 자바에서도 사용하는 선언 표기법이니 기억하자.

기본형으로 선언한 변수 a는 

주로 임시메모리인 스택에 저장되며 값이 저장된 메모리의 크기도 고정되어 있다.

-

참조형

스택에 값이 저장되는 것이 아니라 값의 참조 주소가 저장되며

실제 값은 동적메모리인 힙에 저장된다.

 

코틀린은 참조형만 사용하면 되니 참조형만 기억하자!

 

코틀린에는 부호가 있는 자료형, 없는 자료형이 있다.

값에 따라 Long, Int, Short, Byte 등 알맞은 정수 자료형을 사용하면 된다.

부호가 있는 자료형은 

그대로 자료형을 사용하면 되고

부호가 없는 자료형은 자료형앞에 "U"를 붙여 사용하는 것 정도만 알아두면 될 것 같다

-

자료형은 자바에서 배운거랑 비슷하니 넘어가고,

문자열 선언 및 할당하는 방법을 

코드로 한번 확인 해보겠다 !

str1 , str2, str3에 각각 문자열을 저장했다

println 문구는 

str1과 str2가 같으면 true,

같지 않으면 false 값을 출력하라는 문구이다.

한번 출력을 해보자

정상적으로 출력된 것을 확인할 수 있다.

문자열에 표현식$ 사용하기

표현식 $ 기호의 사용법을 코드로 알아보자.

var a = 1

a의 값은 1이고,

var str1에서 "a = $a"로 $a는 변수 a값을 대체하겠다는 뜻으로

"a = 1" 가 된다 .

-

마찬가지로 str2 = "a = ${a + 2}" 는 

"a = {1 + 2}" 가 되어 3이라는 결과값이 출력 될것이다.

정상적으로 출력된 것을 확인할 수 있다.

-

또한 이스케이프 문자인  \" 를 사용하면 큰따옴표를 문자안에 표현할 수 있고,

\$ 를 사용하면 $ 기호를 사용할 수 있다.

 

 

다음 포스팅에서는 자료형을 검사하고 변환하는 과정을

공부해보도록 해야겠다.