분류 전체보기171 [Kotlin] 클래스를 봉인한다.(Sealed Classes)란? Sealed Classes사용 할 경우 상속을 제한 할 수 있습니다. Sealed Classes로 선언될 경우 동일한 패키지나 내부에서만 사용 할 수 있습니다. Sealed Classes는 패키지 외부에서 선언해서 사용 할 수 없습니다. sealed class Mammal(val name: String) // 1 class Cat(val catName: String) : Mammal(catName) // 2 class Human(val humanName: String, val job: String) : Mammal(humanName) fun greetMammal(mammal: Mammal): String { when (mammal) { // 3 is Human -> return "Hello ${mamma.. 2021. 7. 17. [Kotlin] enum 클래스(Enum Classes)란? enum 클래스는 상태 모드 등 유사한 값들을 고유값으로 만들어 사용하기 위해 사용합니다. enum class State { IDLE, RUNNING, FINISHED // 1 } fun main() { val state = State.RUNNING // 2 val message = when (state) { // 3 State.IDLE -> "It's idle" State.RUNNING -> "It's running" State.FINISHED -> "It's finished" } println(message) } 결과 : It's running 설명 1. enum 클래스에 값을 선언한다. 선언된 값은 모두 고유값이다. 2. enum 클래스를 특정 값은 선언한다. 3. when 조건문을 통해 state.. 2021. 7. 17. [Git] Your branch is ahead of 'origin/main' by 2 commits. 해결 방법 원인 : push 되지 않은 commit 이 2개 생성되어 있음. 해결 방법 : 중복 생성된 commit 을 삭제하고 1개씩 push git push 실행시 error: src refspec master does not match any 발생 $git push grigin master git status 명령어로 에러 원인 확인 친절하게 Your branch is ahead of 'origin/main' by 2 commits. 가이드 문구 표시 $git status git log 명령어로 현재 commit 상태 확인 아래와 같이 origin/main 까지 push commit 이후 2개 commit이 생성되어 있음. $git log git reset을 이용해서 가장 최근 commit 삭제 reset 실.. 2021. 7. 15. [Kotlin] 데이터 클래스(Data Classes)란? 코틀린 데이터 클래스(Data Classes)란? 1. 값을 저장하는 클래스를 쉽게 만들 수 있다. 2. 복사, 문자열 가져오기 3. 메소드 재정의 할 수 있다. data class User(val name: String, val id: Int) { // 1 override fun equals(other: Any?) = other is User && other.id == this.id // 2 } fun main() { val user = User("Alex", 1) println(user) // 3 val secondUser = User("Alex", 1) val thirdUser = User("Max", 2) println("user == secondUser: ${user == secondUser}".. 2021. 7. 14. 이전 1 ··· 3 4 5 6 7 8 9 ··· 43 다음