클래스 관계

결합관계

class Address(val streetNum : Int, val city : String)

class Student (val name : String, val addr : Address)

val addr = Address(1, "진주")

// 결합관계
val obj = Student("수민", addr) // Student클래스의 객체를 생성할 때 Address 객체를 사용

조합관계

class CarEngine {
		fun startEngine(){
				println("엔진 가동")
		}
}

class Car(val color : String, maxSpeed : Int){
		// 클래스 내부에서 CarEngine 클래스 객체 선언
		// 주종관계를 가짐
		lateinit var carEngine : CarEngine
		
		fun startCar() {
				carEngine = CarEngine()
				carEngine.startEngine()
		}
}

val car1 = Car("Red", 240)

// Car 클래스의 메서드로 CarEngine 클래스의 메서드 실행
car1.startCar()

엔진 가동

의존 관계