이 포스팅은 고돈호 님의 이것이 안드로이드다 with 코틀린(한빛미디어)을 기반으로 작성되었습니다.

1.1 변수 var

변수(variable)란 값을 임시로 메모리에 저장하고 그 저장공간에 이름을 부여한 것을 의미한다. 변수는 다음 그림과 같이 이름과 값으로 구성된다.

변수의 구성

변수는 변수의 이름앞에 var을 붙여서 선언할 수 있는데 변수 선언과 동시에 값 넣기, 값으로 초기화하지 않고 선언만 하고 사용하기로 나뉠 수 있다. 각각 알아보면 다음과 같다.


1. 변수 선언과 동시에 값 넣기 - 입력되는 값으로 타입을 추론할 수 있다. 

var 변수명(이름) = 값

ex) 변수명 mySubject에 문자열 "안드로이드"를 입력하는 예시

var mySubject = "안드로이드"

2. 값으로 초기화하지 않고 선언만 하고 사용하기 (반드시 변수명 옆에 : 붙여서 자료형 지정하기)

var 변수명 : 타입
변수명 = 값

ex) 변수명 myHeight에를 Int 타입으로 선언하고 다음 줄에서 정수형 180을 입력하는 예시

var myHeight: Int
myHeight = 180

1.2 결론

위의 1, 2 예시를 통해 변수는 최초 선언 시 타입이 결정된다는 것을 알 수 있다. 또한 변수는 한번 타입이 결정되면 결정된 타입과 동일한 타입의 값만 넣을 수 있다. 즉 다시 말하면 위의 mySubject 변수에 180을 넣을 수는 없다.


2.1 데이터 타입

Double : 소수점이 있는 값을 저장할 때 사용

var doubleValue: Double
doubleValue = 3.14

 

Float : Double과 동일하지만 Double에 비해 범위가 작다

var floatValue: Float
floatValue = 3.14F // Double과 구분하기 위해 F를 붙이는 것을 확인할 수 있다.

 

Int : 정수를 저장할 때 사용

var intValue: Int
intValue = 123456789

 

Long : Int보다 큰 범위

var longValue: Long
longValue = 123456789

 

Short, Byte : 두 경우 모두 정숫값을 저장하는 데 사용하지만 Int 보다 작은 범위

var byteValue: Byte = 123
var shortValue: Byte = 123

 

Char : 하나의 글자만 ' '로 감싸 지정

var charValue = 'A'

 

String : 여러 개의 문자를 지정할 수 있음

var stringValue: String = "Android"


Boolean : true, false 둘 중 1개의 값 지정 가능

var boolValue = true

2.2 출력 예시

package kr.co.kibeom.basicsyntax

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        var mySubject = "안드로이드"
        var myHeight: Int
        myHeight = 180
        myHeight += 1
        Log.d("BasicSyntax", "mySubject = $mySubject, myHeight = $myHeight")
    }
}

 

로그 창


3.1 읽기 전용 변수 val

var과 다르기 읽기 전용인 val이 있다. 이 val은 var과 다르게 값을 변경할 수 없다. 선언하는 방법은 다음과 같이 변수와 동일하다.

val 변수명(이름) = 값

변하지 않는 값을 미리 지정해두고 필요에 따라 다른 값과 조합하여 사용할 수 있다.

val familyName = "김"
var fatherName = familyName + "아빠"
var sonName = familyName + "아들"

따라서 val로 지정한 값을 바꾸려 하면 에러가 발생한다.


3.2 const 상수

상수는 주로 기준이 되는 변하지 않는 값을 입력할때 사용, 읽기 전용 변수인 val 앞에 const를 붙여 사용한다.

const val PI = 3.14

val과 변경할 수 없다는 점에서 일치하지만 컴파일 시에 값이 결정되기 때문에 Int, Long과 같은 기본형과 문자열인 String만 입력할 수 있다.


4.1 코딩 컨벤션

코딩시에 지켜야 할 일종의 규칙

 

1. 클래스명 camel case로 작성

class MainActivity // 첫 글자는 대문자 새로운 단어의 첫 글자 대문자

2. 함수명

fun onCreateActivity() // 첫 글자는 소문자, 새로운 단어의 첫 글자만 대문자

3. 변수명

var intValue: Int // 첫 글자는 소문자, 새로운 단어의 첫 글자만 대문자

4. 상수명

const val PI = 3.14 // 모두 대문자
const val PI_VALUE = 3.14 // 두 개의 단어로 이루어져 있다면 단어 사이를 '_' 로 연결

5. 들여쓰기

package kr.co.kibeom.basicsyntax

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log

class MainActivity : AppCompatActivity() { // 새로운 블록의 시작
    override fun onCreate(savedInstanceState: Bundle?) { // 4 칸 공백
        super.onCreate(savedInstanceState) // 이전 4칸의 공백에 추가로 4칸의 공백 즉 8칸 공백
        setContentView(R.layout.activity_main)
    
        var mySubject = "안드로이드"
        var myHeight: Int
        myHeight = 180
        myHeight += 1
        Log.d("BasicSyntax", "mySubject = $mySubject, myHeight = $myHeight")
    }
}

'안드로이드 앱 개발' 카테고리의 다른 글

6. 함수  (0) 2021.12.20
5. 반복문  (0) 2021.12.19
4. 배열과 컬렉션  (0) 2021.12.14
3. 조건문  (0) 2021.12.12
1. 코틀린의 기본적인 문법  (0) 2021.12.12

+ Recent posts