본문 바로가기

프로그래밍 언어/코틀린_쌩초보를 위한 기초

쌩초보를 위한 기초_06_Variable_변수

Variable(변수)와 Type(타입: 유형)

 

Variable(변수)

변수는 상자라고 생각하자.

변수는 상자처럼 무엇을 담아 두거나 저장하는 곳이다.

 

상자를 3개 만들려면

먼저 상자에 이름을 적는다.

car , plane , train

 

이제 

car 상자에는 자동차 유형(Type)만 넣고

plane 상자에는 비행기 유형(Type)만

train 상자에는 기차 유형(Type)만 넣을 수 있다.

 

코틀린에서 변수에 넣을 수 있는 것을 데이터(Data)라고 부른다.

데이터는 여러 종류이며 각각 유형(Type)이 있다.

이미 앞에서 String(문자열)과 Int(정수)를 사용해 보았다.

이런 것을 DataType(데이터 타입) 줄여서 Type(타입, 유형)이라고 부른다.

변수타입에 대해서는 나중에 자세히 살펴본다.

 

변수를 만드는 행위를 선언(Declaration)이라고 한다.

변수를 만들때는 var , val 이라는 키워드를 사용해야 한다.

 

var (변수):  variable (변할 수 있는)의 준말

val (상수):  value (정해진 값)의 준말

 

그래서 넣었다 뺐다하는 변수 상자를 만들려면 var

한번 넣은 후 끝까지 담아둘 변수 상자를 만들려면 val을 사용한다.

예를 들면 '파이'를 변수로 만들 때는 고정값이므로 아래와 같이 선언할 수 있다.

 

val pi: Double = 3.14159

 

잘 모르겠다면 일단 val로 선언한 후 변경해야 하는게 확인되면 var로 바꾸는 것이 좋다.

 

변수 선언 공식은 다음과 같다.

 

val name: Type = initial value

var name: Type = initial value

 

#name : 이름

#Type : 유형(타입)

#initial value : 초기값, 처음값

#initializing : 초기화, 처음값을 넣는 행위

 

변수 선언의 예시

 

val subject: String = "Math"

var score: Int = 0

 

코틀린은 변수타입을 추론(infer)할 수 있는 똑똑한 능력이 있기 때문에

변수타입을 생략할 수 있다.

그래서 위 변수 선언은 다음과 같이 바꿀 수 있다.

 

val subject = "Math"    //큰따옴표를 인식해서 이 변수타입이 String 이라고 추론함 

var score = 0    //숫자 0을 인식해서 이 변수타입이 Int 라는걸 추론

 

단. 변수타입을 생략할 때는 값을 반드시 넣어야 한다.

값을 보고 변수타입이 뭔지 추론하기 때문에 당연하다.

값을 일단 넣지 않고 변수만 선언하려면 반드시 변수타입을 표시해야 한다.

 

val subject: String

var score: Int

 

main()함수에 다음과 같이 변수를 선언하고 실행해 보자.

 

이제 mathScore를 100으로 바꿔보자.

 

계속해서 작성한 코드 mathScore = 100 은 다음과 같은 뜻이다.

 

mathScore에 넣어라 (뭘?) 100을

 

#참고: 프로그래밍에서 = 기호는 '같다'는 뜻이 아니다.

'대입하라' , '넣어라' , '저장하라'는 뜻으로 쓰인다.

'같다'는 뜻으로 쓰는 기호는 ==을 사용하는데 나중에 배울것이다.

 

처음에 변수 mathScore를 선언하고 초기값을 0으로 정했기 때문에

그 이후는 변수를 불러와서 값을 넣거나 바꿀 수 있는 것이다.

 

그런데 문제는 처음에 val로 선언했기 때문에 변경할 수 없다.

위 그림에서 보듯이 잘못된 값을 넣었기 때문에 빨간색 줄로 에러를 표시하고 있다.

그러므로 변수 mathScore는 값이 바뀌는 변수이므로 var로 선언해야 한다.

아래와 같이 변경한 후 다시 실행 해 보자.

 

위 코드에서는 변수 subject는 사용하지 않았다.

변수 subject를 사용하여 위와 같은 결과가 나오도록 코드를 수정해 보자.

 

참고로 큰 숫자를 나타낼 때 underbar ( _ ) 밑줄을 사용해서 읽기 쉽게 표현할 수 있다.

언더바의 개수나 위치는 마음대로 정할 수 있다.

 

예를 들어 1000000을 영미식으로 1_000_000 으로 하거나

우리나라는 만단위씩 증가하므로 100_0000 으로 적어 '백만'이라고 쉽게 읽을 수 있다.

 

변수 이름 만드는 법

 

  • 숫자로 시작하면 안된다.
  • 코틀린 언어 내부에서 사용하는 키워드(예약어)를 사용할 수 없다.
  • 이름을 보고 기능이 무엇인지 추측하기 쉽게 만드는 것이 좋다.
  • 여러 단어를 연결할 때는 첫글자는 소문자로 시작하고 다음 단어의 첫글자는 대문자를 사용해서 만든다. 이런 식으로 작명하는 것을 낙타(Camel)표기법이라고 한다.

첫부분에 변수를 선언하는 기본 형태를 설명했다.

한글로 다시 정리하면 다음과 같다.

 

변수 선언 방법 (val 또는 var)

 

  • val 변수명: 변수타입 = 초기값
  • val 변수명: 변수타입    // 이 경우는 나중에 초기화(초기값을 넣는것)를 해야 함
  • val 변수명 = 초기값

변수 선언 두번째 방법의 예시는 아래와 같다.

 

변수의 값을 늘이거나 줄일 때는 다음과 같은 연산자를 사용할 수 있다.

 

+= 연산자는 '값을 더한 후 대입(저장)하라'는 뜻이다.

그러므로

counter = counter + 1 을 줄여서 표현한 것이다.

 

곱셈, 나눗셈에도 같은 방식을 적용할 수 있다.

곱한 후 저장하라는 *=

나눈 후 저장하라는 /=

 

 

변수타입은 다음 글에서 계속한다.

끝.