공부 자료

 

https://www.youtube.com/watch?v=tvtNch-GPEU&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=3

 

열심히 하자

 

적으면서 하니까 뭔가 공부가 되는 느낌이다.

 

 

 

형변환과 배열?

 

이름 듣자마자 공부하기 싫어진다 증말

 

 

일단 함수가 뭔지부터 알아보자.

 

게임에서 매크로와 같은 기능같다. a 버튼을 누르면 이 스킬도 나가고 저 스킬도 나간다.

 

함수를 호출할 시 특정한 동작이나 원하는 결과값을 받아올 수 있다고 한다. 간단히만 알고 가자.

 

 

그럼 형변환?

 

간단히 하나의 변수에 지정된 자료형을 호환되는 다른 자료형으로 변환하는 기능이다. (논리형은 변환 불가)

 

그냥 자료형 바꾸기라고 생각한다.

 

형변환 함수? toByte(), toShort(), toInt() 등 to 뒤에 자료형을 붙이면 된다.

 

 

예를 들어 Int(32bits)인 a변수를 Long(64bits)인 b변수에 넣는다고 하자.

 

fun main() {

 

    var a: Int = 1234

    var b: Long = a

 

}

 

코틀린에서는 그냥 할당만 해서는 자료형을 변환할 수 없다.

 

반드시 Int형 변수에 toLong() 함수를 호출하여 자료형을 Long으로 변환시켜준다.

 

    var a: Int = 1234

    var b: Long = a.toLong()

 

이런식으로 말이다.

 

이것을 전문용어로서는 명시적 형변환이라고 한다고 하며, 코틀린은 다른 언어들이 지원하는 '암시적 형변환'은 지원하지 않는다 한다.

 

 

배열?

 

일반적인 배열이다. Array<T>라고 하던데 무슨 의미인지 모르겠다.

 

fun main() {

 

    var intArr = arrayOf(1, 2, 3, 4, 5)

 

}

 

일단 intArr이라는 변수를 지정해주고, arrayOf 함수를 통해 배열에 저장할 값들을 나열해주면 된다.

 

비어있는 함수를 만들고 싶다면

 

var nullArr = arrayOfNulls<Int>(5) 

 

로 만들어주면 된다. 여기서 (5)는 5의 크기를 가진 Null으로 채워진 배열이 된다는 뜻이다.

 

arrayOfNulls 함수는 <>가 들어가는데 이 안에 자료형을 넣어주면 된다.

 

이를 Generic이라고 하는데, 나중에 알려준다고 한다.

 

 

그럼 배열은 어떻게 사용하는가.

 

아까 선언한 변수 intArr에 대괄호를 붙이면 된다.

 

intArr[2] 이런 식으로 쓰면 되는데 여기서 2는 배열 안의 3번째 값을 말한다. (0번째, 1번째 ... 이런식으로 시작하기 때문)

 

 

fun main() {

 

    var intArr = arrayOf(1, 2, 3, 4, 5)

 

    intArr[2] = 8   -------> 해당 위치의 값을 할당할 수도 있고,

 

    println(intArr[4]) -------> 이런 식으로 값을 사용할 수도 있다.

 

}

 

실행해보면,

 

5가 출력되는 것을 볼 수 있다. (배열은 (1, 2, 8, 4, 5)가 된다. 3번째의 값을 8로 바꿨기 때문)

 

 

열심히 하자

Posted by 노꼴甲
,