본문 바로가기

전체 글324

[Kotlin] Class 상속 및 오버라이딩 방법 클래스 상속 Kotlin은 Default로 상속이 금지되어 있기 때문에 class 예약어 앞에 open을 사용해야함. 예제1 fun main(){ var a = Person("김민수",1996) a.introduce() var b = Dog("김민수",1996) b.introduce() b.bark() } open class Person (var name:String, var birthYear:Int){ fun introduce(){ println("안녕하세요. 저는${this.name}이고, ${this.birthYear}년에 태어났습니다.") } } class Dog (name:String, birthYear:Int): Person(name, birthYear){ fun bark(){ println(.. 2022. 1. 5.
[Kotlin] 보조 생성자 인스터스 생성 시 보조 생성자(constructor)를 통해 생성자(init)를 실행시키기 이전에 필요한 동작을 수행할 수 있음. 예제 fun main(){ var a = Person("박보영",1990) var b = Person("장원영",2004) var c = Person("이루다") var d = Person("차은우") } class Person (var name:String, var birthYear:Int){ init{ println("${this.birthYear}, ${this.name}") } constructor(name:String): this(name, 1997){ println("보조 생성자를 통해 생성일자를 1997년으로 설정하였습니다.") } } 결과 2022. 1. 5.
[Kotlin] label를 통한 다중 for문 종료 예제 fun main() { loop@for (i in 1..10){ for (j in 1..10){ if(i==1 && j==3) break@loop println("i : $i, j : $j") } } } 예제 결과 2022. 1. 5.
[Kotlin] 조건문 when 사용법 예제1 : 조건에 따른 코드 수행 fun main() { doWhen(1) doWhen("Min") doWhen(123L) doWhen(1.5f) doWhen("aaa") } fun doWhen (a:Any){ when(a){ 1 -> println("정수 1입니다.") "Min" -> println("Min 입니다.") is Long -> println("Long 타입입니다.") !is String -> println("String 타입이 아닙니다.") else -> println("어떠한 조건도 만족하지 않습니다.") } } 예제1 결과 예제2 : 조건에 따른 결과 저장 fun main() { doWhen(1) doWhen("Min") doWhen(123L) doWhen(1.5f) doWhen("aa.. 2022. 1. 5.
[Kotlin] Online Compile Site https://play.kotlinlang.org/ Kotlin Playground: Edit, Run, Share Kotlin Code Online play.kotlinlang.org 아래와 같이 코드를 입력한 뒤, 실행 버튼(Ctrl+F9)을 누르면 결과가 나타남. 2022. 1. 5.
[Kotlin] Intellij에서 Anroid 세팅 먼저 jetbrains 사이트에서 Intellij를 다운로드 받습니다. IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains A Capable and Ergonomic Java IDE for Enterprise Java, Scala, Kotlin and much more... www.jetbrains.com 저는 무료 버전인 Community를 다운로드 받았습니다. 설치가 완료된 후, New Project 버튼을 클릭합니다. 이후 New Project의 Android 탭을 클릭한 뒤, Install SDK 버튼을 클릭하여 설치를 진행합니다. (SDK 설치 이전에 JDK를 먼저 설치해야 하는데 저는 OpenJDK 11를 설치했습니다.) SDK 설치가 .. 2022. 1. 4.
[아두이노] 브레드보드 연결 방법 아두이노와 브레드보드를 이용한 예제 중 가장 먼저 하는 것은 보통 LED를 키는 예제입니다. 처음 해보는 저 같은 초보자들은 예상치 못한 실수를 할 수 있는데요. 저는 LED 하나를 태워버렸습니다... 먼저 브레드보드에 표시된 양 옆의 빨간색(+), 파란색(-) 선은 각각 5V의 전원 케이블과 GND 케이블을 연결할 때 사용합니다. 그리고 녹색 선으로 연결된 선은 서로 전기가 통하며 해당 구멍에 꼽는 것으로 전기를 연결시킬 수 있습니다. 예제 부품 : 아두이노 보드 1개, 브레드보드 1개, 220옴 저항 1개, LED 램프 1개 아두이노의 5V와 GND 위치에 따라 점퍼를 꼽아준 뒤, 아래 사진과 같이 연결합니다. (그림에서 LED가 접혀 있는 곳이 다리가 긴 쪽으로 +극을 의미합니다.) 초록색 선으로 .. 2021. 12. 12.
[아두이노] 저항에 대한 개념과 계산 방법 아두이노를 통하여 회로를 구성할 때 저항을 같이 결합하여 회로를 구성하였는데 이에 대한 이유를 설명해주지 않았습니다. 당연히 그냥 넘어갈 수 없기에 이에 대한 이유를 찾아보게 되었습니다. 먼저 아두이노는 5V의 전기가 나오며, LED는 2~3.4V 사이의 전기로 동작을 하게 됩니다. 만약, 5V의 전기가 LED로 바로 가게 되면 어떤 일이 발생하게 될까요? 적정 전압보다 크게 전기가 흐르기 때문에 과전압으로 인해 LED가 고장나게 될 것입니다. 이를 방지하기 위해 사용되는 것이 바로 저항입니다. 예제 아래 그림과 같이 5V의 아두이노, 220옴 저항, LED로 구성된 회로가 있다고 가정해보겠습니다. ※ 해당 적색 LED의 경우 1.8V의 전압강하를 가지고 있으며, 적정 전류는 25mA(10~25mA 동작.. 2021. 12. 6.
[아두이노] 라즈베리파이와 아두이노의 차이 그동안 미뤄놨던 임베디드에 대한 공부를 시작해볼려고 아두이노 우노에 대한 개발 키트를 구매하였습니다. 그 전에 필요한 지식들을 공부하고 있었는데 많은 사람들이 라즈베리파이와 아두이노를 고민하더라고요. 그래서 그 부분에 대한 내용을 정리해보려고 합니다. 라즈베리파이와 아두이노는 전기적 신호를 제어하여 외부의 센서나 LED 등을 제어할 수 있다는 공통점을 가지고 있습니다. 이를 통해 다양한 외부 기기들을 제어하는 전자제품들을 만들 수 있습니다. 라즈베리파이 아두이노 얼핏보면 큰 차이가 없어보이는 두 제품간에는 근본적인 차이점이 존재하는데 그것은 바로 운영체제의 존재 유무입니다. 아두이노의 경우에는 연결된 PC와 같은 단말기에서 프로그래밍을 한 뒤 아두이노에 업로드하는 방식으로 외부 기기를 제어하는 반면, 라.. 2021. 12. 6.