본문 바로가기

전체 글

(174)
[kotlin]지연 초기화 # lateinit - 개발을 하다보면 클래스 안에서 변수만 Nullable로 미리 선언하고, 초기화를 나중에 해야 할 경우가 있다 - 이럴 경우 lateinit 키워드를 사용할 수 있다 # Nullable로 선언하는 일반적인 방법 class Person { var name: String? = null init { name = "Lionel" } fun process() { name?.plus(" Messi") print("이름의 길이 = ${name?.length}") print("이름의 첫 글자 = ${name?.substring(0, 1)}") } } -> 일반적인 선언 방식으로 처음에 null 값을 입력해두고, 클래스의 다른 메서드 영역에서 값을 입력한다 -> 위 방식은 변수에 입력된 값의 메서드..
[kotlin]null 값에 대한 안정적인 처리 - Null Safety - null은 항상 이슈의 중심에 있는데, null로 인해 프로그램 전체 혹은 앱 전체가 멈출 수 있다 - 프로그램이 멈출 수 있는 상황을 다음과 같이 코드로 만들어보겠다 class One { fun print() { Log.d("null_safety", "can you call me?") } } -> 1개의 메서드를 갖고있는 클래스를 만든다 var one: One if (1 > 2){ one = One() } one.print() -> 그리고 onCreate() 메서드 안에서 다음과 같이 one 변수 하나를 선언하고, 타입으로 내가 만든 클래스를 지정해둔다 -> 그리고 특정 조건이 만족할 때만 선언한 변수에 생성자를 호출해서 저장해두는 조건문 if를 만든다 -> 그리고 변수를 통해, 해당 클래스의 메서..
[kotlin]클래스와 설계 - 지금까지 공부한 내용 안에서 클래스를 정리하면, 클래스는 단지 변수와 함수의 모음이다! - 그룹화 할 수 있는 함수와 변수를 한군데에 모아놓고, 사용하기 쉽게 이름을 붙여놓은 것을 "클래스" 라고 이해하면 쉬울것이다! # 클래스의 기본 구조 - Kotlin에서 사용되는 클래스의 기본 구조는 다음과 같다 class 클래스명 { var 변수 fun 함수() { // 코드 } } 다음은 문자열을 저장할 수 있는 String 클래스의 코드를 함축해서 보여주는 코드다 class String{ var length: Int fun plus(other: Any){ // code } fun compareTo(other: String){ // code } } -> length로 문자열의 길이를 알 수 있고, plus로..