반응형

규제.

 

역할 : 어떤 클래스가 있고 그 클래스가 특정한 인터페이스사용한다면,

         그 클래스는 반드시 인터페이스의 메소드를 구현해야한다.

 

 

잘 모르겠다. 간에 기별도 안온다.

 

개발자A, 개발자B가 계산기를 만든다고 생각해보자.

계산기를 만드는 도중에도 사용자들이 사용할 수 있게 해주기 위해,

가짜 계산기를 만들었다.

 

그리고 계산기를 다 만들고 난 후, 진짜 계산기(오른쪽)를 넣을려고하니,

calculatorDummy c = new CalculatorDummy();에 Calculator클래스를 대체할  수 없다.

왜냐하면, calculatorDummy의 인자는 (int first, int secon, int three) 이 세개를 받는데,

Calculator는 두개 밖에 받지 못하기 때문에,

현재 c.setOperands(10,20,30)이 대체될 수 없기 때문이다. (개발자들간의 소통의 문제로 인해)

 

위의 클래스는 간단하지만, 저런 대체될 클래스,객체들이 100개 1000개 있다면, 어떻게해야할 것인가,

그렇기 위해서, 

개발자들 간에 약속을해서 Calculatable이라는 인터페이스를 구현을 해준다.

개인적인 생각이지만 쉽게,  갖춰야 할 옵션

(예를들어, 밖에 나갈때는 신발을 신는다는가.. 그리고 신발을 안신고 나갈려고 하는 순간 갑자기 헨드폰에서 존나 쌍욕이 들려온다고 생각해보자)

이렇게 생각하니, 감이오지 않는가? 안오면.. 미안합니다.

이 CalculatorDummy는 calculatable(인터페이스)를 옵션으로 장착한 후  인터페이스의 메소드를 구현해준다.

그 후 다시 Calculator을 만든 개발자는 같은 인터페이스를 장착함으로써,

(장착이 되면, 만약 두개의 인자를 받을려고 또 실수를 할 수 없게, 에러가 난다. 그렇기 때문에,

올바른 방향으로 나아갈 수 있다는.. )

 

 

벗어나지 않는 행동을 하지 않게 되었다는 ............ 이야기다 끝@!

 

 

그래도 혹시 감이 안온다면,, 여기 한번 들어보길 추천합니다.

반응형

+ Recent posts