일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 프로그래머스 자바
- 자바 공부
- react
- 코틀린
- 자바스크립트
- react hook
- 코딩테스트 고득점 Kit 완전탐색
- 자바
- codesandbox
- 프로그래밍 언어론
- React JS
- Java
- react firebase
- 장고
- 컴퓨터 네트워크
- websocket
- useState
- 프로그래머스 완전탐색
- JavaScript
- design pattern
- 리액트
- 코딩테스트 고득점 Kit
- 백준
- vanillaJS
- 프로그래머스
- NextJS
- useEffect
- 디자인 패턴
- 리액트 훅
- 데이터모델링과마이닝
Archives
- Today
- Total
기록하는 개발자
Kotlin(코틀린)(Intelli J) #7 Class 본문
728x90
Class
-객체를 생성하기 위해서는 반드시 클래스를 통해 생성 해야한다.
-클래스에서 정의한 변수(property)와 함수(method)의 구조에 따라 객체가 생성된다.
-class 키워드로 선언한다.
구성
-init 블록과 constructor(생성자)
-property(변수)
-method(함수)
-중첩 클래스 및 내부 클래스
-객체 선언
Property 특징
-java의 field와 유사한 성질을 가진다.
-PropertyType, Property_initializer, getter, setter를 가진다.
(단, var로 선언된 property는 getter만 가짐->java의 private 처럼 수정x)
lateinit
-선언과 통시에 초기화 하기 힘들 때 사용하는 키워드
-var로 선언 시 사용 가능
728x90
ex)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
class body(val height : Int , val weight : Int)
class myclassbody{
lateinit var num1 : body
lateinit var num2 : body
lateinit var num3 : body
}
fun main(args : Array<String>){
val BODY=myclassbody()
BODY.num1=body(160,60)
BODY.num2=body(174,70)
BODY.num3=body(165,65)
println("average height of this class : ${BODY.ave_h}")
println("average weight of this class : ${BODY.ave_w}")
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
Constructor(생성자)
-초기화에 사용되며 클래스를 통해 객체를 생성할 때 자동으로 동작한다.
1. 기본 생성자
-constructor 생략 가능
-기본 생성자는 코드를 갖지 못함(init 키워드로 생성자 표시)
-기본 생성자와 property를 함께 쓸 수 있음
ex)
1
2
3
4
5
6
7
8
|
class car(name : String){
val name : String = name
val speed : Int =0
}
//위 아래는 같은 코드임
class car(val name : String , val speed : Int=0)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
class music constructor(genre : String, singer : String){
val genre : String //parameter와 같은 이름의 매개 변수 사용 가능
val singername : String
init{
this.singername=singer
}
fun print(){
println("genre : ${this.genre} singer : ${this.singername}")
}
}
fun main(args : Array<String>){
var mymusic=arrayOf(music("Rock","muse"),music("Pop","coldplay"),music("RnB","Khalid"))
mymusic[i].print()
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
2. 보조 생성자
-기본 생성자를 보완하기 위해서 갖는 여러 개의 생성자
-constructor 키워드가 필요함
-this 키워드를 이요해서 기본 생성자 또는 다른 생성자에게 위임해야 함(delegation)
-실행 순서
728x90
'Kotlin' 카테고리의 다른 글
Kotlin(코틀린)(Intelli J) 예제 풀기 2-'*'으로 삼각형 만들기 (0) | 2020.02.09 |
---|---|
Kotlin(코틀린)(Intelli J) 예제 풀기1-소수 판별 (0) | 2020.02.09 |
Kotlin(코틀린)(Intelli J) #6 Basic-화면 입력, 파일 입력 (0) | 2020.02.09 |
Kotlin(코틀린)(Intelli J) #5 Basic-2 (연산자 종류, if 문, 라벨 사용법) (0) | 2020.02.06 |
Kotlin(코틀린)(Intelli J) #4 Basic-1 (0) | 2020.02.01 |