Information Security
[환경을 바꾸는 소프트웨어] 코틀린-1 본문
변수와 데이터 형식
fun main() {
var a : String = "슈먼이"
var b : Int = 20201231
var c : Int = 22
var d : Char = 'S'
println(a)
println(b)
println(c)
println(d)
}
조건문: if, when
fun main() {
var count: Int = 85
if (count >= 90) {
println("if문: 합격(장학생)")
} else if (count >= 60) {
println("if문 : 합격")
} else {
println("if문: 불합격")
}
var jumsu:Int =(count/10)*10
when(jumsu){
100->println("when문: 합격(장학생)")
90->println("when문:합격(장학생)")
// in 90..100->println("when문: 합격(장학생)")
80,70,60->println("when문:합격")
//in 60..89->println("when문: 합격")
else->println("when문:불합격")
}
}
fun main() {
var count:Int =80
when(count){
in 91..100->println("A")
in 81..90->println("B")
in 71..80->println("C")
in 51..70->println("D")
in 31..50->println("E")
else->println("F")
}
}
--- 20210907/23:30 --- chap03 ---
배열
일차원 배열 선언 형식 : Array(), arrayOf(), arrayOfNullls()
arrayOfNulls()는 빈배열로 선언
반복문: for,while
fun main() {
var two =Array<IntArray>(3,{IntArray(4)})
var value: Int = 100
for(i in 0..2 step 1){
for (j in 0..2 step 1){
two[i][j]=value
value+=10
println("two[$i][$j]:$value")
}
}
}
** 값 가져올 때 $ 써야 함
함수
클래스
변수(필드)와 메소드로 구성
객체지향 관점에서의 클래스 : 실세계의 객체들이 가질 수 있는 상태와 행동
메소드 오버로딩(overloading)
한 클래스 내에서 메소드의 이름이 같아도 파라미터의 개수나 데이터 형식만 다르면 여러 개를 선언할 수 있음
클래스 상속
추상 클래스
추상 클래스는 인스턴스 생성 불가
추상 클래스는 클래스 앞에 abstract 키워드를 붙여서 지정함
인스턴스화란
추상 메소드
본체가 없는 메소드
메소드 앞에 abstract 키워드를 붙여서 지정 • 추상 메소드를 포함하는 클래스는 추상 클래스로 지정해야 함
인터페이스
추상 클래스와 성격이 비슷함
interface 키워드를 사용하여 정의하고 내부에는 추상 메소드를 선언함
클래스에서 인터페이스를 받아 완성할 때 상속과 마찬가지로 ‘ : 인터페이스 이름’ 형식을 사용함
인터페이스는 ‘상속받는다’고 하지 않고 ‘구현한다’고 함
Kotlin은 다중 상속을 지원하지 않음 • 대신 인터페이스를 사용하여 다중 상속과 비슷하게 작성할 수 있음
'STUDY > Project' 카테고리의 다른 글
Wi-Fi 네트워크 신호 분석을 통한 차량 내 운전자 신체 이상행동 탐지 기법 (1) | 2024.01.19 |
---|---|
MAVLink 프로토콜 보안 취약점 분석 및 암호화 기법 (0) | 2023.11.28 |
GURU2 팀 프로젝트 (0) | 2022.02.09 |
[WUDC] 팀빌딩데이 (0) | 2022.01.17 |
[환경을 바꾸는 소프트웨어] Win 32 API (0) | 2021.09.01 |