: 클래스 B의 객체 -> 클래스 A의 메쏘드 매개변수
=> 메쏘드(def) 내에서만 사용
class A:
	...
    def do_something(self, b): 
    ...
: 클래스 B의 객체 -> 클래스 A의 속성값
=> 초기 생성자 attribute 값은 None -> setter에서 
class A:
	def __init(self, ...):
    	self.__attr_b = None #처음에는 속성값을 None으로
    
    @attr_b.setter #위의 클래스B로 가지고온 속성값을 setter로
    def art_b(self, b):
    	self.__attr_b = b #매개변수 b는 B의 객체 -> 클래스 A의 attribute가 된다
: 클래스 B의 객체 -> 클래스 A의 속성값으로 생성 및 저장
=> 생성자 단계에서 부터
class A:
	def __init__(self, ...):
    	self.__attr_b = B() #생성자에서 클래스B의 attribute를 갖는다.
: 클래스A를 기본 클래스로 지정하여 클래스 B를 정의
class A:
	...
class B(A):
	...