일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- fragment
- button
- Java
- JavaScript
- Kotlin
- scrollview
- SpringBoot
- 코틀린
- Android
- 오버라이딩
- TypeScript
- Javscript
- 리액트
- GoogleMaps
- TextView
- 자바스크립트
- JS
- array
- 안드로이드
- nodejs
- 스프링부트
- React
- npm
- Hook
- 구글맵스
- Linux
- RecyclerView
- 랜덤번호
- stylesheet
- 랜덤넘버
- Today
- Total
목록코딩 기록/Kotlin (41)
타닥타닥 개발자의 일상
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ba59MR/btrr2tBTIiN/XS5A4Nul6m0wBsOMDvmOhK/img.png)
인텔리제이에서 새 프로젝트 👉Android👉프로젝트 템프릿 선택 👉 Empty Activity 👉 다음버튼 👉 완료 주로 사용할 기능들 activity_main.xml / MainActivity.kt / buildgradle(:app) / AndroidManifest.xml / strings.xml activity_main.xml 우측 상단의 Code/Design을 선택함에 따라 코드로 화면을 구성할지 직접 디자인하며 구성할지 선택 가능 activity_main의 Code 화면 activity_main의 designe화면, Code화면에서 보았던 속성 TextView가 보인다. 메인화면 설정을 위한 build.gradle(:app) plugins { id 'com.android.application' i..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DZqM2/btrr4wSEKda/c4a7i9gQTi9xO4bs4dWiok/img.png)
만들 조건 Dao, Dto 만들기. Dto는 Human Dto에서 상속 받은 Pichter Dto, Batter Dto 사용하기. File 클래스 만들어서 저장 기능 만들기. Dao, Dto, File 별로 별개의 패키지. Human클래스를 상속 받는 Pichter과 Batter는 같은 Dto 패키지 안에 생성. DTO 패키지 부모 클래스인 Human클래스 package dto open class Human(var number:Int=0, var name:String = "", var age:Int = 0, var height:Double = 0.0) { //자식 클래스에서 상속을 반드시 할수 있도록 생성자() 안에 name, age,height 속성을 넣는다. //상속 가능하기 위해 open이라는 단어..
fun main(args: Array) { //Map -> (key, value) -pair // val langMap: Map = mapOf( 1001 to "kotlin",1002 to "Java", 1003 to "react") for ((key, value) in langMap){ println("key=$key, value=$value") } /* 출력값 key=1001, value=kotlin key=1002, value=Java key=1003, value=react */ println(langMap[1002]) //출력값: Java println(langMap.get(1001)) //출력값: kotlin println(langMap) //출력값: {1001=..
fun main(args: Array) { //collection 수집 ArrayList LinkedList HashMap TreeMap //추가, 삭제 불가 var numbers: List = listOf(1,2,3,4,5) for(n in numbers) print("$n") //출력값: 12345 println() var names:List = listOf("one","two","three") for(name in names){ println(name) } /* 출력값 one two three */ println(names.size) //출력값: 3 println(names.get(1)) //출력값: two println(names.indexOf("three")) //출력값:2 println(nam..
fun main(args: Array) { val box:Box = Box(123) println(box.value) //getter 출력값: 123 val sBox:Box = Box("my world") println(sBox.value) //출력값 : my world val iBox = Box(234) println(iBox.value) //출력값 : 234 var result = add(3,4) { a, b -> a + b } //add(3,4){a,b->a+b} println(result) //출력값: 7 val cal: MyClass = MyClass(34,123.456) println(cal.num1) //출력값 :34 println(cal.num2) //출력값 :123.456 println(..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ty8SA/btrrKJeBFdc/pGcSe23kzZJ1KbLvtSUm31/img.png)
기억해야 할 개념 추상클래스는 추상 메소드를 하나이상 포함하고 있는 클래스이다. 추상 클래스는 일반 메소드와 추상 메소드(최소 1개 이상) 모두 가질수 있다. 부모 추상 클래스 안에 있는 추상속성, 추상메소드는 반드시 자식 클래스에서 구현해야지 오류가 나지 않는다. 클래스는 다중 상속이 불가능하다. 인터페이스는 다중 상속이 가능하다. fun main(args: Array) { myPrinter.print() //출력값: myPrinter print} abstract class Printer{ // 추상 클래스 : 추상 메소드를 하나이상 포함하고 있는 클래스 abstract fun print() //추상 메소드 fun method() = println("") //일반 메소드 } val myPrinter =..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AlTaC/btrrPF92L5k/V9iyg7xcKWwCrOgg63bqF1/img.png)
메인함수 fun main(args: Array) { //this와 super, overriding, overload 사용 val base = Base("길동","홍",24) base.firstname = "진호" //firstname 진호로 set. println(base.fullName) // get과 같은 역할, 출력값: 진호 홍 val child = Child("춘향","성",15, "서울시") //Base 클래스의 자식 클래스인 Child의 생성자 println(child.lastname) // 출력값 : 성 println(child.fullName) // 오버라이딩 전 출력값: 춘향 성 , 오버라이딩 후 출력값: 춘향 15 서울시 } 부모 클래스와 자식 클래스 //상속을 해주기 위해 open 붙..
import java.io.* import java.lang.Exception import java.util.* fun main(args: Array) { //저장매체 : file, Database val outString:String = "hi hi hi" val path = "c:\\myfile\\myfile.txt" // myfile.txt이 저장된 경로를 path라는 값으로 설정 //파일 목록 val files = File("C:\\").listFiles() //C드라이브에 저장된 파일의 목록을 files라는 값으로 설정 println(Arrays.toString(files)) //files를 문자열으로 바꿔서 출력 //파일복사 //File(path).copyTo(File("C:\\myfile\\..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Gi9ah/btrrLM8hEkL/vhRfaHsjQmwSVvMGS4oz0K/img.png)
지역변수 / 글로벌 변수 / 파라미터로 함수 삽입 예시 var global = 10 //전역에서 접근할수 있는 글로벌 변수 fun main(args: Array) { val res1 = funcParam(3,4, ::sum) //파라미터에 sum함수 삽입 println(res1) //sum(a:Int, b:Int) =a+b 이므로 res1출력값 7 hello(::text) //Hi! Hello World 출력 hello { a, b -> text(a, b) }//Hi! Hello World 출력 hello({a, b -> text(a, b)}) //Hi! Hello World 출력 //일반 변수처럼 할당할 수 있다. val likeLamda = ::sum //sum 함수 대신 likeLamda로 접근 p..
fun main(args: Array) { var userNum: Int //유저가 선택한 가위/바위/보 값 var comNum: Int //컴퓨터의 가위/바위/보 값 var win: Int //승리 횟수 var lose: Int //패배 횟수 var draw: Int //무승부 횟수 var result: Int //결과 값 win = 0.also { draw = it }.also { lose = it } // win = lose = draw =0 println("가위바위보 게임입니다.") while (true) { //while문 시작! println("start game >>>") //random comNum = (Math.random() * 3).toInt() //0~2 사이 값 //user inp..