티스토리

1chanhue1
검색하기

블로그 홈

1chanhue1

1chanhue1.tistory.com/m

1chanhue1 님의 블로그입니다.

구독자
1
방명록 방문하기

주요 글 목록

  • [kotlin] 코틀린 enum class (열거 클래스) Enum class Enum class란 일반적으로 선언되는 상수와는 다르게, 여러 개의 값을 열거해서 사용할 수 있도록 정의해 놓은 클래스이다.enum class Fruit{ GRAPE, APPLE, ORANGE, MANGO}일반적인 형태의 enum class는 위와 같은 형태로,Fruit가 해당 클래스의 클래스 명이며, 블록 안에 순차적으로 콤마(,)를 통해 나열된 값이해당 클래스의 인스턴스이다.특별히 생성자를 정의하지 않는 경우 위에서부터 순차적으로 0,1,2,3...의 값이 부여된다.각 enum 인스턴스는 일반적으로 name과 ordinal이라는 프로퍼티를 가지며,name은 인스턴스의 이름을, ordinal은 인스턴스의 순서를 나타낸다.위와 같이 선언된 enum class는 .. 공감수 0 댓글수 0 2024. 5. 28.
  • [kotlin] Data class, Sealed class fun main(){ ///////// data class 예시 ///////// val person=Person("수지",24) val dog=Dog("해피",23) println(person.toString()) // 그냥 참조 주소값이 나옴 // 출력: org.techtown.part0.kotlin.part2.Person@2acf57e3 println(dog.toString()) // 데이터 클래스의 경우 안의 데이터를 볼 수 있는 tostring 함수가 구현됨 // 출력 : Dog(name=해피, age=23) println(dog.copy(age=3)) // 원.. 공감수 0 댓글수 0 2023. 8. 14.
  • [kotlin] 초기화 지연(lazy initialization) 초기화 지연을 사용하는 이유 ?  보통 클래스에서 변수를 초기화하면, 클래스 생성 시 해당 변수도 함께 생성되며 초기화된다. 그렇게 되면 클래스 객체를 생성할 때마다 해당 변수도 함께 초기화되기 때문에 바로 사용할 수 있다는 장점이 있다.하지만 해당 변수를 바로 사용하지 않거나 꼭 사용하는 경우가 아니라면 클래스를 생성할 때마다 변수를 초기화하기 때문에 메모리나 소프트웨어의 실행 시간 측면에서 손해를 많이 보게 될 것이다.정리하면 지연 초기화는 해당 변수가 필요한 순간까지 초기화를 최대한 미루어서 메모리나 실행 시간에서 이득을 보기 위해 사용한다. lateinit var text:String // 타입을 반드시 지정해줘야함val test : Int by lazy{ // lateinit var와 달.. 공감수 0 댓글수 0 2023. 8. 14.
  • [kotlin] 코틀린 스코프 함수 let, with, run, apply, also 차이 비교 정리 1. let     1. 수신객체를 받기 위해서 it 을 사용(생략 불가능),         명시적으로 local variales 선언 가능    2. 마지막 줄이 return 값 ( 람다식과 동일한 것을 볼 수 있음)    3.  let을 많이 쓰는경우 ?  non-null 체크  사용 예시class User( val name: String, var age: Int, val gender: Boolean, var hasGlasses: Boolean)val user: User? = User("나", 10, true,true)val age = user?.let { it.age //it으로 받음 , 마지막 줄 it.age가 리턴됨}val age1 = user?.let { use.. 공감수 1 댓글수 0 2023. 8. 10.
  • [kotlin] 접근 제한자(Visibility Modifiers) 접근 제한자 접근 제한자는 해당 패키지나 클래스에 외부에서 접근하려 할 때, 접근을 제어할 수 있는 개념입니다.접근제한자는 패키지와 클래스에 접근할 때의 두 경우로 나뉘게 됩니다.- public, internal, private, protected - 변수, 함수 , 클래스 선언 시 맨 앞에 적어준다 - ex) private val number : Int =10 범위(Scope) - 변수(변수 자체가 Scope), 함수 ,클래스  - 규칙  - 같은 스코프 안에서는 공유 가능   - 하위 스코프에서는 상위 스코프 멤버를 사용 및 재정의(할당) 할 수 있다.      - 상위 스코프에서는 하위 스코프에 있는 맴버를 사용 및 재정의 할 수 없다.   프로젝트  -> 모듈들로 구성 모듈  -> 라이브러리로 구.. 공감수 0 댓글수 0 2023. 1. 27.
  • [kotlin] 생성자 주 생성자는 클래스를 초기화할 떄 주로 사용하는 간략한 생성자로 클래스 본문 밖에서 정의하며부 생성자는 클래스 본문 안에서 정의한다.또한 코틀린에서는 초기화 블록(initializer block)을 통해 초기화 로직을 추가할 수 있다.   주생성자 -> 풀버전(생략이 없는 버전)- 클래스 이름 옆에 괄호로 둘러싸인 코드- 클래스를 통해서 객체를 만드는데 필요한 재료들을 적어준다- 재료이름(변수명): 재료타입(변수타입)- 반드시 한개만 존재할 수 있다. -> constructor 키워드를 생략가능하다. 주생성자 -> init을 생략하는 방법주생성자 -> constructor를 생략하는 방법주생성자 -> 기본값을 적어주는 방법주생성자 -> 생략할수 있는 모든 걸 생략하는 방법   this 키워드 사용부 생성.. 공감수 0 댓글수 0 2023. 1. 26.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.