지난 포스팅에서 코틀린 클래스에 대해 알아보며 기본 생성자를 어떻게 생성하는지 클래스 변수를 어떻게 형성할 수 있는지 알아보았습니다. 클래스를 생성해 작업하다 보면 생성자를 중복해 형성해야 할 때가 있죠. 추가적인 매개변수를 받는 경우를 상정할 때 중복해 생성자를 형성하는 것이 생성자 오버 로딩이죠. 생성자 오버 로딩은 보통 클래스 이름을 가진 생성자에 어떤 매개변수를 받는지를 통해 구분하죠. 코틀린도 크게 다르지는 않지만 기본 생성자와 오버로딩 생성자를 만드는 방법이 조금 다릅니다. 클래스 이름 바로 옆에 매개변수를 받고 Init 키워드를 통해 기본 생성자를 생성하고 constructor 키워드를 통해 생성자 오버로딩을 할 수 있죠. 어떤 방식으로 생성되는지 직접 보여드리겠습니다. 코틀린 생성자 오버로..
지난 시간까지는 간단한 코틀린 코딩 방법과 타이머 만드는 방법까지 설명드렸습니다. 이번 시간부터는 본격적으로 코틀린과 자바의 차이점을 다뤄보려고 합니다. 제가 가장 익숙해지기 힘든 부분이기도 했고 자바와는 다른 부분이 너무 많아서 조금 고생했던 부분이기도 합니다. 바로 클래스 생성 부분이죠. 코틀린은 자바와는 전혀 다른 방식으로 클래스 생성자와 클래스 내부 변수를 만듭니다. 코틀린 언어의 간결하다는 특징을 여실히 보여주는 가장 대표적인 부분이라고 저는 생각합니다. 자바에 익숙한 분이시면 조금 의아할 수도 있지만 익숙해지시면 더 간결하고 편하게 사용할 수 있죠. 1. 코틀린에서의 클래스 생성 방법 class Test() {} 코틀린에서 클래스를 생성하는 방법은 평범합니다. 그냥 다른 언어에서 클래스를 생성..
안녕하세요. 오늘은 안드로이드 SeekBar의 사용법에 대해서 알아볼 겁니다. SeekBar의 경우 안드로이드에서 기본적으로 지원해주는 녀석 말고도 다른 프로그래머 분들이 오픈 소스로 공개해주시는 멋진 디자인의 시크 바도 있어요. 하지만 형태가 다르다고 해도 기본적으로 사용하는 방법은 동일하기 때문에 기본으로 지원해주는 녀석의 사용법을 알 고 있는 것이 중요하겠죠. 그럼 바로 알아보도록 하죠. SeekBar에 대하여 SeekBar은 슬라이더 형태의 게이지 바를 말합니다. UI상에서 사용자가 슬라이더를 움직이면 그 progress 값을 가져와 활용할 수 있죠. 음량이나 밝기 외에도 다양한 곳에 사용되기 때문에 한번 익혀 놓으면 다양한 곳에 사용할 수 있습니다. 먼저 SeekBar를 생성하는 방법에 대해 알..
안녕하세요. 오늘은 저번 포스팅까지 배운 내용을 바탕으로 사용자의 입력만큼 초시계를 돌리는 타이머를 만들어 볼 겁니다. 그럼 바로 한번 시작해 보도록 하죠. 타이머 만드는 방법 일단 설명하기에 앞서 제가 만든 타이머 코드를 보여드리겠습니다. 그 후 한줄 한줄 설명해드리도록 할 거에요. import kotlin.concurrent.timer fun main() { var inputtedData : String? var minute = 0 var second = 0 do { print("시간을 입력해주세요.(분) : ") inputtedData = readLine() }while (inputtedData!!.isEmpty()||inputtedData.toInt()=60) minute = inputtedDat..
안녕하세요. 오늘은 저번 타이머 함수 사용법에 이어서 readline()을 이용해 사용자에게 입력받는 법을 알아보려고 합니다. 또 입력 받은 모든 값을 스트링 값으로 반환하는 readline()을 어떻게 하면 숫자를 입력받게끔 할 수 있는지 알려드리려고 해요. 설명드릴 내용이 그리 많지는 않은 편이라 간단히 설명하고 끝내도록 합시다. 바로 시작하죠. readline() readline()은 저번에 설명 드렸던 타이머 함수와는 다르게 아무 라이브러리도 추가하지 않고 사용이 가능합니다. 변수를 선언한 뒤 해당 변수에 readline()을 할당해주면 되요. 아래는 그 예시입니다. fun main() { print("이름을 입력해주세요. : ") val name = readLine() println("당신의 이..
안녕하세요. 오랜만에 코틀린 강좌로 다시 찾아왔습니다. 한동안 프로그래밍 관련 강좌를 하지 않았었는데 그 이유는 어떤 것을 먼저 설명해드리면 좋을 지 몰라서 그랬어요. 그런데 안드로이드 강좌를 진행하다 보니 그때그때 필요한 내용들을 설명하고 나중에 이것들을 정리하는 것이 좋겠다고 느껴서 순번이 다소 뒤틀리더라도 이렇게 강좌를 작성하기로 하였습니다. 오늘 소개해드릴 것은 일정 주기로 블록 안의 코드를 실행하는 timer 함수와 저번에 마저 설명하지 못했던 print와 println의 차이점에 대해서 설명해 드리도록 하겠습니다. 1. timer 함수의 사용 방법 타이머 함수를 사용하기 위해서는 코틀린의 타이머 라이브러리를 추가해주어야 합니다. Import kotlin.concurrent.timer 위 코드로..
안녕하세요. 오늘도 Constraint Layout에 대해서 알려드릴 건데요. 이번에는 속성을 통해서 부모의 크기에 비례해 위젯의 크기가 조정되는 Height, Width 속성에 대해서 알려드리려고 합니다. 그럼 바로 시작하도록 하죠. 1. Percent 속성은 무엇일까? 보통 앱을 제작할 때는 width, height 속성에 값을 넣어서 위젯의 크기를 결정하게 됩니다. 하지만 그럴 경우 테블릿 등과 같이 화면 크기가 큰 기기에서 기기 크기에 비해 위젯의 크기가 너무 작은 경우가 나타나겠죠. 그런 경우를 방지하기 위해서 위젯의 크기가 화면 크기에 맞게 변화하도록 도와주는 속성이 바로 Percent 속성입니다. 너비는 고정시키고 높이만 변화하거나 그 반대 또한 가능해서 여러 곳에 적용시켜줄 수 있습니다. ..
안녕하세요. 지난번 코틀린 프로젝트 생성에 이어서 오늘은 자료형을 선언하고 nullable 변수를 만드는 방법에 대해 알아볼까 합니다. 그럼 바로 시작하도록 하죠. 코틀린 변수 선언 방법 먼저 코틀린에서 일반적인 자료형을 선언하는 방법에 대해서 알아보겠습니다. 코틀린에서는 var 변수명 : 자료형 = 값 위와 같은 방식으로 자료형을 선언할 수 있습니다.] 자료형 선언 방법 // val 변수명 : 자료형 = 데이터 // var 변수명 : 자료형 = 데이터 val value : String = "수정 불가능 변수" var variable : String = "수정 가능 변수" var로 자료형을 선언하면 수정 가능한 자료형이 되고 val로 선언하면 수정 불가능한 값이 됩니다. 때에 따라 필요한 방식으로 선언하..
안녕하세요. 저번의 “코틀린 꼭 배워야 할까?”에 이어서 코틀린을 위한 IDE를 설치하는 방법과 코틀린의 신규 프로젝트를 만들고 간단한 코드를 실행해보는 것까지 진행해볼까 합니다. 그럼 긴말하지 않고 바로 시작해보도록 하죠. Kotlin ide IntelliJ IDEA 설치하기 코틀린은 jetbrains사가 만든 언어이기 때문에 jetbrains사의 IntelliJ IDEA에서 코딩을 할 수 있습니다. 아래 링크로 이동해서 IntelliJ IDEA 다운로드 사이트로 이동해주세요. https://www.jetbrains.com/idea/download/#section=windows Download IntelliJ IDEA: The Java IDE for Professional Developers by Je..