오늘은 문법강의 마지막5주차 영상을 보고 배운 문법을 정리해보았다.
자료형을 변환할 수 있는 유용한 기능이 있다.
var num1 = 20
var num2 = 30.2
var num3 = num2.toInt()
var num4 = num1.toDouble()
Int형변수를 Double형변수로, 반대로 Double형 변수는 Int형 변수로 바꿔줄 수 있다. num3에는 30.2가 아니라 30이 들어가게 되고, num4에는 20이 아닌 20.0이 들어가게 된다.
다음으로 코틀린은 is키워드를 이용해서 자료형의 타입을 확인할 수 있다.
var name = "HELLO"
if(name is String) {
println("name은 String 타입입니다")
}else {
println("name은 String 타입이 아닙니다")
}
이런식으로 확인해볼 수 있고, 위에서는 name이 String타입이 맞으므로 if문이 출력된다.
코틀린은 자바와 달리 외부에서 클래스의 메소드를 추가할 수 있다. 예를들어 이름,나이만 출력하는 displayInfo메소드가 있는데 나는 추가로 등급까지 조회하고싶다 -> 내가 설계한 클래스가 아니기때문에 직접 바꿔주는건 좋지않다.(협업 했을때?) 이떄 사용해주면 된다.
fun main() {
fun Student.getGrade() = println("학생의 등급은 ${this.grade} 입니다")
var student = Student("참새", 10, "A+")
student.displayInfo()
student.getGrade()
}
class Student(name: String, age: Int, grade: String) {
var name: String
var age: Int
var grade: String
init {
this.name = name
this.age = age
this.grade = grade
}
fun displayInfo() {
println("이름은 ${name} 입니다")
println("나이는 ${age} 입니다")
}
}
student라는 클래스에 함수 displayInfo에는 이름과 나이를 출력하는 문장만 있다. 하지만 main()에서 직접 getGrade()라는 함수를 만들어서 사용할 수 있다.
동기 프로그래밍 -> 순서대로 하나의 작업씩 수행하는 행위
-> 순차적으로 수행하기 때문에 앞선 작업에 영향을 받음.
(한 가지 작업을 처리한다.)
비동기 프로그래밍 -> 여러개의 작업을 같이 수행할수 있음.
-> 동시에 수행하기 때문에 앞선작업에 영향받지 않음.
(다양한 일을 한 번에 수행한다.)
ex) 10GB짜리 영상 다운로드를 한다. 동기적 이라면 다운받는동안 다른거 아무것도못함.. 비동기적이라면 다운받으며 다른행동 가능.!
프로그램에는 하나의 메인 쓰레드가 존재한다. (androidStudio의 경우 fun main()부분?)
쓰레드는 동시에 로직을 실행할 수 있다. -> 비동기적 프로그래밍.
프로세스 -> 프로그램이 메모리에 올라가서 실행될때, 이를 프로세스 1개라고 한다.
쓰레드 -> 프로세스보다 더 작은 단위로, 프로세스 안에서 더 작은 작업의 단위이다. 쓰레드는 생성되서 수행될때 각 독립된 메모리 영역인 STACK을 가진다.
쓰레드를 사용하려면
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")
이걸 추가해줘야 한다.
fun main() {
thread(start = true) {
for(i in 1..10) {
println("Thread1: 현재 숫자는 ${i}")
runBlocking {
launch {
delay(1000)
}
}
}
}
thread(start = true) {
for(i in 11..20) {
println("Thread2: 현재 숫자는 ${i}")
runBlocking {
launch {
delay(1000)
}
}
}
}
}
1부터 10까지 출력하는 코드 2개를 쓰레드로 생성해서 경쟁시킨다. 쓰레드1과2의 순서는 보장되지 않고, 항상 랜덤된 값이 나온다.
둘다 동시성 프로그래밍을 위한 기술이다. 둘의 차이를 보면
쓰레드 -> 작업 하나하나의 단위가 Thread이다. 각 Thread가 독립적인 Stack메모리 영역을 가진다.
코루틴 -> 작업 하나하나의 단위: Coroutine Object이다. 여러작업 각각에 Object를 할당하는데 이도 엄연한 객체이기 때문에 JVM Heap에 적재한다.(kotlin기준)
이렇게 모든 코틀린 문법 강의시청이 끝났다. 강의를 시청하고 정리를 다시한번 하니, 머리에 더 잘 기억되는것 같다.!
https://riyamalik.com/asian-call-girls-noida-sector-34.html
https://riyamalik.com/asian-call-girls-noida-sector-43.html
https://riyamalik.com/athletic-call-girls-noida-sector-30.html
https://riyamalik.com/aunty-call-girls-noida-sector-61.html
https://riyamalik.com/aunty-escort-service-borivali.html
https://riyamalik.com/babes-call-girls-noida-sector-33.html
https://riyamalik.com/babes-call-girls-noida-sector-42.html
https://riyamalik.com/babes-escorts-hotel-itc-grand-central-mumbai.html
https://riyamalik.com/basaveshwaranagar-escorts.html
https://riyamalik.com/beautiful-call-girls-badonwala.html
https://riyamalik.com/beautiful-call-girls-barmer.html
https://riyamalik.com/beautiful-call-girls-didwana.html
https://riyamalik.com/beautiful-call-girls-govindpura.html
https://riyamalik.com/beautiful-call-girls-Gurudronacharya.html
https://riyamalik.com/beautiful-call-girls-hathroi.html
https://riyamalik.com/beautiful-call-girls-jharkhand.html
https://riyamalik.com/beautiful-call-girls-jodhpur.html
https://riyamalik.com/beautiful-call-girls-kalwar.html
https://riyamalik.com/beautiful-call-girls-patel-nagar.html
https://riyamalik.com/beautiful-call-girls-sector-38.html
https://riyamalik.com/beautiful-call-girls-sector-111.html
https://riyamalik.com/beautiful-escort-service-sector-40.html
https://riyamalik.com/beauty-call-girls-bapu-nagar.html
https://riyamalik.com/beauty-call-girls-madhya-marg.html
https://riyamalik.com/beauty-call-girls-nindar.html
https://riyamalik.com/beauty-call-girls-noida-sector-46.html
https://riyamalik.com/beauty-call-girls-noida-sector-151.html
https://riyamalik.com/beauty-call-girls-pratapgarh.html
https://riyamalik.com/beauty-call-girls-sector-53.html
https://riyamalik.com/beauty-call-girls-sector-72.html
https://riyamalik.com/beauty-call-girls-sector-84.html
https://riyamalik.com/beauty-call-girls-sundar-nagar.html
https://riyamalik.com/beauty-call-girls-tank-road.html
https://riyamalik.com/beauty-call-girls-vatika-city.html
https://riyamalik.com/beauty-escorts-in-hotel-radisson-blu-plaza.html
https://riyamalik.com/beauty-escorts-sushant-golf-city.html
https://riyamalik.com/bellandur-call-girls.html
https://riyamalik.com/best-dating-call-girls-gangapur-city.html
https://riyamalik.com/best-desi-call-girls-sector-113.html
https://riyamalik.com/best-escort-golden-galaxy-hotels-&-resorts.html
https://riyamalik.com/best-quality-call-girls-mohali.html
https://riyamalik.com/bhopal-call-girl.html
https://riyamalik.com/big-ass-call-girls-chittorgarh.html
https://riyamalik.com/big-ass-call-girls-mansarovar.html
https://riyamalik.com/big-ass-call-girls-milap-magar.html
https://riyamalik.com/big-ass-call-girls-milap-nagar.html
https://riyamalik.com/big-ass-call-girls-sector-3.html
https://riyamalik.com/big-ass-call-girls-sector-45.html
https://riyamalik.com/big-boobs-call-girls-bundi.html
https://riyamalik.com/big-boobs-call-girls-hanumangarh.html
https://riyamalik.com/big-boobs-call-girls-maniyawas.html
https://riyamalik.com/big-boobs-escort-service-patrakar-colony.html
https://riyamalik.com/big-boobs-escort-service-sector-28.html
https://riyamalik.com/big-eyes-call-girls-hindaun-city.html
https://riyamalik.com/big-tits-call-girls-kanauta.html
https://riyamalik.com/bikini-call-gilrs-golf-course-extension.html
https://riyamalik.com/bikini-call-girls-ambience-island.html
https://riyamalik.com/bikini-call-girls-ashram.html
https://riyamalik.com/bikini-escort-service-sector-3.html
https://riyamalik.com/blonde-call-girls-asalpur.html
https://riyamalik.com/blonde-call-girls-bhaskola.html
https://riyamalik.com/blonde-call-girls-bhiwandi.html
https://riyamalik.com/blonde-call-girls-chandigarh-sector-8.html
https://riyamalik.com/blonde-call-girls-charbagh.html
https://riyamalik.com/blonde-call-girls-chawri-bazar.html
https://riyamalik.com/blonde-call-girls-gulmohar-park.html
https://riyamalik.com/blonde-call-girls-hotel-holiday-inn-agra.html
https://riyamalik.com/blonde-call-girls-hotel-oberoy.html
https://riyamalik.com/blonde-call-girls-hotel-taj-agra.html
https://riyamalik.com/blonde-call-girls-kundannagar.html
https://riyamalik.com/blonde-call-girls-landaur.html
https://riyamalik.com/blonde-call-girls-lodhi-road.html
https://riyamalik.com/blonde-call-girls-noida-sector-17.html
https://riyamalik.com/blonde-call-girls-sector-93.html
https://riyamalik.com/blonde-call-girls-sector-105.html
https://riyamalik.com/blonde-call-girls-sector-110.html
https://riyamalik.com/blonde-call-girls-the-lalit-chandigarh.html
https://riyamalik.com/blonde-escort-service-hotel-radisson-noida.html
https://riyamalik.com/blonde-escort-service-mizoram.html
https://riyamalik.com/blue-eyes-call-girls-south-ex.html
https://riyamalik.com/blue-eyes-escort-service-sector-7.html
https://riyamalik.com/bold-call-girls-hotel-jw-marriott.html
https://riyamalik.com/bold-figure-call-girls-bullawala.html
https://riyamalik.com/bommanahalli-call-girl.html
https://riyamalik.com/bright-call-girls-byculla.html
https://riyamalik.com/bright-call-girls-noida-sector-21.html
https://riyamalik.com/bright-call-girls-noida-sector-66.html
https://riyamalik.com/bright-escorts-in-hotel-bloomrooms-@-janpath.html
https://riyamalik.com/brown-eyes-call-girls-chanakkya-puri.html
https://riyamalik.com/brown-eyes-call-girls-gwal-pahari.html
https://riyamalik.com/brown-eyes-call-girls-mg-road.html
https://riyamalik.com/btm-layout-escorts.html
https://riyamalik.com/busty-call-girls-almora.html
https://riyamalik.com/busty-call-girls-chandigarh-sector-23.html
https://riyamalik.com/busty-call-girls-connaught-place.html
https://riyamalik.com/busty-call-girls-sector-56.html
https://riyamalik.com/busty-escort-service-aashiyana.html
https://riyamalik.com/busty-escorts-hotel-clarks-shiraz-agra.html
https://riyamalik.com/busty-escorts-sushant-lok-1.html
https://riyamalik.com/busty-milf-call-girls-noida-sector-117.html
https://riyamalik.com/butter-call-girls-latur.html
여담이지만 잘생기신거 같아요
화이팅입니다!😃