[코틀린 문법] 클래스
// Class(클래스) //
// 인스턴스를 만드는 틀
// Instance(인스턴스) //
// 클래스를 이용해 만들어내는 서로 다른 속성의 객체
// 클래스 == 값(속성) + 기능(함수)
// 함수 == 기능
fun main() {
var bts = Singer("정국", 1997)
var txt = Singer("연준", 1999)
println("안녕하세요, ${bts.birthYear}년생 ${bts.name}입니다.")
println("안녕하세요, ${txt.birthYear}년생 ${txt.name}입니다.")
// 안녕하세요, 1997년생 정국입니다.
// 안녕하세요, 1999년생 연준입니다.
}
// 클래스 속성(생성자) 선언
class Singer (var name: String, val birthYear: Int)
// 클래스 기본 형태 //
// class 클래스명(매개변수, 기본 생성자 등) { 본문 }
// 있을 거 다 있는 클래스
class Normal(name: String) { /* 내용 */ }
// 몇몇 요소가 없는 클래스
class Normal2() { /* 내용 */ }
class Normal3()
class Normal4 { /* 내용 */ }
class Normal5
// 수정
fun main() {
var aespa = Singer("윈터", 2001)
var nmixx = Singer("설윤", 2004)
aespa.introduce()
nmixx.introduce()
// 안녕하세요, 2001년생 윈터입니다.
// 안녕하세요, 2004년생 설윤입니다.
}
// 함수 없이 속성만 가지는 클래스는 이 한 줄로 구현 끝!
class Singer (var name: String, val birthYear: Int) {
fun introduce() {
// class내에 println function 추가 -> 코드가 훨씬 짧아짐
println("안녕하세요, ${birthYear}년생 ${name}입니다.")
}
}
// 클래스 보충설명
fun main() {
// 인스턴스 객체 생성 후
val human = Human()
// 점 연산자를 붙여 클래스 내 변수/함수에 접근 가능
human.eatingCake()
// yummy!
}
// Class(클래스) 생성
class Human {
// Property(프로퍼티, 속성) //
// 클래스 안에 들어가는 변수
val name : String = "shinyelee"
// 프로퍼티 정의
// Method(메서드, 함수) //
// 클래스 안에 들어가는 함수
fun eatingCake() {
println("yummy!")
}
// 메서드 정의
// 클래스 안에는 다수의 속성과 메서드가 들어갈 수 있음
}
참고
반응형