IS-A 와 HAS-A
IS-A
객체지향 프로그래밍에서 Inheritance(상속)에 주요 적용되는 개념이다.
"A는 B이다."와 같이 사용된다.
사람은 동물이다/소는 동물이다/새는 동물이다.
class Animal {}
class Human: Animal {}
class Cow: Animal {}
class Bird: Animal {}
HAS-A
객체지향 프로그래밍에서 Composition(구성)에 주로 적용되는 개념이다.
"A에는 B가 있다."와 같이 사용된다.
class CPU {}
class RAM {}
class MainBoard {}
class Computer {
let cpu: CPU
let mainBoard: MainBoard
let ran: RAM
init(cpu: CPU, mainBoard: MainBoard, ram: RAM) {
self.cpu = cpu
self.mainBoard = mainBoard
self.ram = ram
}
}
Last updated