kotlin

    [Kotlin] const val vs val - 둘의 차이점은 무엇일까?

    최근 우아한테크코스에서 코틀린에 대해 공부하면서 상수를 관리할 때 companion object(동반 객체) 내에 필요한 상수를 선언하는 일이 자주 있었습니다. 단순히 상수이기 때문에 val 키워드를 사용하면 된다고 생각했지만, IDE에서는 이 방식을 추천하지 않았습니다. val만 사용하여 상수를 선언하면, Might be 'const'라는 문구가 나타나면서 노란 줄로 경고가 나타납니다. 여기서 IDE가 추천해주는 방식을 따르면 const 키워드가 추가로 붙게 됩니다. 이 둘에 어떤 차이가 있는지 알아본 바로는, const val는 컴파일 시점에 값을 할당하는 반면, val는 런타임 시점에 값을 할당한다는 차이가 있습니다. 많은 레퍼런스를 참조해봤지만 대부분 이 둘에 대한 차이밖에 찾을 수 없었으며, K..

    [Android] 자바 코틀린 (Pattern, Matcher)정규식을 사용하여 패스워드 조건을 만들어보자

    동아리 프로젝트 중, 비밀번호 변경을 구현하는 단계에서 정규식을 사용할 일이 생겼습니다. 조건은 '영문, 숫자, 특수문자 중 2개를 사용하여 최소 8자리 이상'의 비밀번호를 입력해야 합니다. 자바와 코틀린에서는 기본적으로 Pattern과 Matcher라는 정규식 라이브러리 클래스를 제공합니다. 이번 포스팅에서는 해당 클래스의 사용방법에 대해 알아보고 직접 비밀번호에 적용해보도록 하겠습니다. Pattern - Pattern 클래스 주요 메서드 compile(String regex) : 주어진 정규표현식으로부터 패턴을 만듭니다. matcher(CharSequence input) : 대상 문자열이 패턴과 일치할 경우 true를 반환합니다. asPredicate() : 문자열을 일치시키는 데 사용할 수있는 술어..