본문 바로가기
반응형

언어/코틀린7

[Kotlin] 널 안전성이란? 코틀린에서 널 안전성이라는 개념이 등장하는데 널이란 객체가 선언되었지만 초기화되지 않은 상태를 의미하는 것으로 객체가 널인 상황에서 널 포인터 예외가 발생하지 않도록 연산자를 비롯해 여러 기법을 제공한다는 의미로 해석할 수 있습니다 val data1: String = "hello" val data2: String? = null 위 소스코드에서 data1 변수에는 "hello"라는 문자열을 저장했습니다 그런데 실제로는 "hello"라는 문자열 데이터가 저장되어 있는 주소가 대입되고 그 주소로 문자열 데이터를 이용하게 됩니다 data2 변수에는 null을 대입했는데 이렇게 하면 data2 변수는 아직 주소 값을 얻지 못합니다. 즉 변수가 선언되었지만 이용은 할 수 없는 상태인 것입니다 이처럼 널인 상태의 객.. 2022. 7. 20.
[Kotlin] 클래스와 생성자 코틀린에서 클래스는 자바와 마찬가지로 class 키워드를 통해 선언합니다 클래스의 멤버는 생성자, 변수, 함수, 클래스로 구성되고 코틀린의 생성자는 constructor라는 키워드로 선언하는 함수입니다 그리고 코틀린에서는 클래스 내에 클래스를 선언할 수 있습니다 class DevelUser{ var name = "Devel" constructor(name: String){ this.name = name } fun TestFun(){ println("name : $name") } } 자바의 경우에 멤버가 없고 선언부만 있는 클래스는 의미가 없지만 코틀린에서는 클래스의 생성자를 본문이 아닌 선언부에 작성할 수 있기 때문에 본문이 없는 클래스도 의미가 있습니다 코틀린에서 객체를 생성할때 new 키워드를 사용하.. 2022. 6. 14.
[Kotlin] 조건문 When 코틀린에서는 When이라는 조건문이 있습니다 When 키워드 다음의 소괄호() 안에 넣은 데이터가 조건이 되며 이 값에 따라 각 구문을 실행하게 됩니다 fun main(){ var data = 10 when(data){ 10 -> println("data = 10") 20 -> println("data = 20") else ->{ println("data not valid") } } } 위 코드에서 when의 조건으로 data라는 var 변수를 주었고 when 내에 해당하는 값에 따라서 조건이 실행됩니다 when은 조건으로 정수형뿐만 아니라 String 등의 다른 타입의 데이터를 지정할 수 있습니다 fun main(){ var data = "hi" when(data){ "hi" -> println("da.. 2022. 6. 13.
[Kotlin] 함수 선언 코틀린에서 함수를 선언하기 위한 키워드는 fun입니다 fun 함수명( 매개변수명: 타입): 반환 타입 {....} 함수에서는 반환 타입을 선언할 수 있으며 생략하게 된다면 자동적으로 Unit 타입으로 적용이 됩니다 Unit 타입이란 반환문이 없는 함수라는 의미로 데이터의 형식이 아닌 특수한 상황을 표현하려는 목적으로 사용됩니다 또한 함수의 매개변수에는 var이나 val 키워드를 사용할 수 없습니다 모든 매개변수는 val 타입이 자동으로 적용되며 함수 안에서 매개변수의 값을 변경할 수 없습니다 fun test(data: Int){ data = 20// 에러!!! } 매개 변수값을 함수 내부에서 변경할 수 없기 때문에 위 코드는 에러가 발생합니다 코틀린 함수에서는 특이한 점이 있는데 함수의 매개변수 부분입니.. 2022. 6. 13.
[Kotlin] 데이터 타입 코틀린을 사용하기 위해서는 사용되는 데이터 타입을 먼저 알아야 합니다 코틀린은 모든 변수가 객체로 이루어져 있다는 점이 다른 언어와 다른 점입니다 예를 들어 정수를 다루는 타입이 Int로 되어 있는데 이는 기초 데이터 타입이 아니라 클래스입니다 fun Fun(){ var test1: Int = 10 var test2: Int? = null// null 대입 가능 test1 = test1 + 10 test1 = test1.plus(10)// 객체의 메서드 이용 } 위 코드에서 test1과 test2 변수를 Int 타입으로 선언했습니다 만약 Int 타입이 기초 데이터 타입이라면 변수에 null을 대입할 수 없고 메서드를 호출할 수도 없습니다 하지만 코틀린의 모든 타입은 객체이므로 Int 타입의 변수에 10이.. 2022. 6. 10.
[Kotlin] 변수 선언 코틀린에서 변수는 val, var 키워드로 선언됩니다 val은 value의 줄임말로 초기값이 할당되면 바꿀 수 없는 상수의 개념입니다 어떠한 값을 지정해서 사용할 때에는 val로 선언하면 되고 var는 variable의 줄임말로 초기값을 할당한 뒤에도 값을 변경할 수 있는 변수입니다 코틀린에서는 변수를 선언하는 형식이 자바와는 많이 다른 형태를 가지고 있습니다 val 변수명: 타입 = 값 맨 처음 부분에 val or var을 명시하고 다음으로 변수명을 적어줍니다 타입은 명시하지 않아도 상관이 없고 대입되는 값에 따라서 할당됩니다 val과 var 키워드의 차이점 val test1 = 10 var test2 = 10 fun main(){ test1 = 20// 에러!! test2 = 20// 성공 } 위에서.. 2022. 6. 10.
반응형