interface 추상화

Seonhee Kim·2023년 7월 12일

study

목록 보기
11/18
** 기계처리 (데이터를 바꾸는 것 자체 = 기계처리, 이게 *누구랑 더 가까운가)
렌더링 순서를 생각해보면 기계처리가 사용자와 가까울수록(= 바깥으로 뺄수록) 좋다. why? 더 빨리 만날 수 있어서
함수형으로 개발하면서 oop 개념을 알아야하기때문에 리액트가 어렵다는것이다
oop : 객체지향프로그래밍

Q. 인터페이스, 타입은 무엇이며, 언제 사용할까?

  • 인터페이스랑 클래스 레벨이 같음. 타입은 클래스랑 같은 레벨이 아님. 클래스는 구현체가 존재, 인터페이스는 구현체가 아니라 그냥 명세. 타입은 클래스와 같은 레벨이 아니기때문에 의존성 제어가 불가능하다.
  • 인터페이스 - 추상화가 가능하다. 이걸 쓰는 이유는
    1. 서로 의존하는 순환모듈 (별로인 관계) → 인터페이스가 의존성 역전으로 해결해준다.
    2. (육안으로 확인할 수 있는 속도는 비슷하지만) 협업,리팩토링에 좋고 명세서 역할도 한다.
  • 기계처리가 자식에 몰려있고, 부모는 자식을 그냥 렌더링용으로 사용하는것이 가장 이상적이다. 이것을 의존성관계가 갖추어져있다고 하는데,(= 의존성역전이 필요하지 않을 때) 이럴때 타입을 사용한다.

Q. 그럼 의존관계가 2-3개가 되면 인터페이스 추상화가 귀찮아서 전역관리를 하는건가?

  • 귀찮아서도 맞지만, 그것보다는 자식의 자식의 자식이 되면 의존성역전을 하고 또 하면 결국 같은 결과가 나오기때문에, 그럴 경우를 대비해서 전역관리를 하는 것이다. (의존성역전 필요 여부에 따라 전역관리 결정)
  • 같은 맥락으로 이상적인 의존성 관계에서는 인터페이스 의존성역전을 사용하면 안된다.
profile
안녕하세요 ~_~

0개의 댓글