목록분류 전체보기 (97)
변명은 만개 결과는 한개
본 게시글은 Acaroom x Boostcourse Live! 콬! LIVE 강의 - 코틀린 특징 영상을 보며 정리한 글입니다 Kotlin 특징 코틀린의 특징 #1 - Statically Typed 기본적으로 정적 타입 언어이다 컴파일 시 변수의 자료형(Type) 이 결정되어 안전 코틀린과 달리 Python 혹은 JavaScript 는 동적타입 # Python 코드(동적 타입)의 예 m = 13 # int m = "hello" # str m = 13.0 # float // Kotlin 코드(정적 타입)의 예 var m: Int = 13 m = 15 // Ok m = "hello" // Error m = 15.0 // Error 단, Kotlin/JS 를 쓸 때는 동적 타입 지원을 위해 dynamic 키워..
GIT 서버의 최신 브랜치 당겨오기 ? 깃 upstream, downstream 이란 upstream 과 downstream 은 두 레포간의 관계에 따라 정의되는 상대적인 개념이다 ? Origin 과 Upstream 의 차이 내가 다른사람의 OtherRepo 를 fork 해왔다고 할 때, 이 OtherRepo 가 오리지널 레포이고, upstream 은 이를 지칭하는것 내 포크를 myRepo 라고 할 때, 클론하면 내 레포가 origin 이 된다 원격 저장소(git*.com)에서 최신 브랜치 당겨오기 원격저장소(git*.com)에서 직접 브랜치 (song_test_branch) 만들었으나 git branch -[r|a] 시 확인불가 user@DT MINGW64 ~/git/BEAR (master) $ git..
메시지에 이모지 받아 처리하기 디스코드 봇 (discord.py) 을 통해 특정 메시지에 부여되는 이모지에 따라 원하는 동작을 실행하는 메시지 이모지 처리방법 두 가지에 대해 예제와 함께 다룹니다 wait_for 를 이용하여 특정 이모지 부여 1회 대기 및 액션 취하기 bot event on_raw_reaction_add 를 이용하여 이모지 부여에 따른 액션 취하기 1️⃣ wait_for 를 이용하여 특정 이모지(🙌) 부여 1회 대기 및 액션 취하기 1. 메시지 생성 및 가이드 이모지 부여 msg = await.channel.send("Sample message") await msg.add_reaction('🙌') 메시지를 생성하는 동시에 msg.add_reaction() 으로 유저가 손쉽게 이모지를 부..
Companion class companion object 일반적인 클래스의 변수와 메소드를 직접 접근할 수 있도록 만들어주는것. 간단히 말하면 java의 static 형태로 접근이 가능한 변수와 메소드를 만들어주는것 class 내에 정의할 수 있음 Java 에서처럼 Class.TYPE 형태로 직접 접근 가능 static은 아님 // class 내에 직접 접근을 위한 함수와 변수 정의 class Sample { val name: String = "Name" companion object { val type: Int = 0 fun isTypeZero(): Boolean { return type == 0 } } } interface와 함께 사용 interface Base { val name: String f..
보호되어 있는 글입니다.
클래스 상속(class inheritance) open class 코틀린은 class에 open 키워드를 붙이지 않으면 기본적으로 final 이다. 그러므로 클래스의 상속 을 하기 위해서는 open 키워드로 final 키워드를 제거해주어야한다 open class Empty(a: Int) class Sample(a: Int) : Empty() java View class 상속 ConstraintLayout 상속받는 코드를 예시로 생성자 연습 // secondary 생성자 활용 class CustomConstraintLayout( context: Context, attrs: AttributeSet?, defStyleAttr: Int) : ConstraintLayout(context, attrs, defSty..
유용한 null 처리 방법 안전한 형 변환 Java 의 경우 instanceof 키워드를 사용하여 안전하게 처리 Object object = "name"; // String int index = 0; if (object instanceof Integer) { index = (int) object; } System.out.println("index " + index); // output: 0 Kotlin 의 경우 as(casting) 뒤에 ? 키워드를 붙여 안전하게 형 변환 val a: Any? = "ABC" val b: Int? = a as Int // Cast Exception 발생 val b: Int? = a as? Int // output: null val b: Int? = a as? Int ?: ..
null 예외처리 Elvis Operator Elvis Operator -> ?: java 의 삼항연산자에서 ? 와 : 를 따로 쓰는것과 비교해서, 붙어있음 var temp: String? null // 1. if / else 사용 가능 // 2. safe call 사용 가능 // 3. Elvis Operator val size = temp?.length ?: 0 // output : 0 | length Elvis Operator 유용하게 사용하기 // JAVA String temp = null; textView.setText(temp != null ? temp : ""); // KOTLIN val temp: String? = null // textView.text = if (temp != null) t..