728x90
반응형
객체지향, 즉 데이터를 객체로 취급하여 프로그램에 반영한 것으로 객체들의 상호작용을 통해 프로그램이 동작하는 것을 말한다.
객체지향의 코드의 재사용, 변경의 특징을 이용해서 다음과 같은 클래스를 만들 수 있다.
class Food(
// 콤마를 사용해 변수를 초기화하고
var name: String,
var calories: Int
){
// 다음 중괄호안에 클래스 함수를 써주고 변수명을 참조할 때는 $를 쓴다 = jQuery랑 비슷함
fun brief(){
println("Name : $name Calories : $calories" )
}
}
fun main(){
var a = Food("Chicken", 1500)
var b = Food("Pizza", 1000)
// 만든 함수를 호출할 때는 .뒤에 함수명을 써준다.
a.brief()
b.brief()
}
Name : Chicken Calories : 1500
Name : Pizza Calories : 1000
다른 객체지향 언어와 동일하게 생성자를 만들어서 객체를 초기화 시킬 수 있다.
또한 kotlin에서는 보조생성자라는 기능이 추가되었는데, 기본의 생성자를 오버라이딩하여 필요한 매개변수만 변경한 후 사용한다.
생성자는 init함수를 통해 초기화하고 보조생성자는 constructor함수를 통해 초기화한다.
아래 예시를 보면서 이해하는 편이 좋다.
class Food(
// 콤마를 사용해 변수를 초기화하고
var name: String,
var calories: Int
){
// 생성자를 통한 초기화
init {
println("${this.name} contains ${this.calories} calories")
}
// 보조생성자를 통한 부분 초기화
// 기본으로 사용할 매개변수를 첫 ()에 넣어주고 : 을 통해 고정으로 사용할 매개변수의 값을 할당한다.
constructor(name:String) : this(name, 500){
println("calories in $name exceed more than $calories")
}
}
fun main(){
var a = Food("Chicken", 1500)
var b = Food("Pizza", 1000)
var c = Food("Noodle")
}
Chicken contains 1500 calories
Pizza contains 1000 calories
Noodle contains 500 calories
// 아래에 보조 생성자까지 초기화된것을 볼 수 있다.
calories in Noodle exceed more than 500
728x90
반응형
'Kotlin > 문법' 카테고리의 다른 글
kotlin 클래스의 상속, 오버라이딩, 오버로딩, 인터페이스 (0) | 2022.04.30 |
---|---|
kotlin 반복문 while, for - step (0) | 2022.04.29 |
kotlin 조건 연산자 - when, if (0) | 2022.04.29 |
kotlin 함수 만들기, Any 사용하기 (0) | 2022.04.29 |
kotlin 명시적 형변환, 배열 (0) | 2022.04.29 |