abstract가 전체 설계단, interface가 함수단에서 설계하면 좋다는 정도로 알고 있는데,
설계할 때 유의미하게 구분하기 좋은 지점이 있을까요?
일반적으로 abstract를 많이 쓰나요?
abstract로 interface기능 받도록 class 구현하고, 오버라이딩 한 다음에, 그 기능을 구현체로 다시 구현하는 건 현업을 안해봐서 모르겠는데 안할 것 같고(코드가 너무 길어짐),
interface가 역할과 기능을 분리한다면, abstract는 의도적으로 일부분만 기능을 분리할 수 있는데, interface를 쓰는 경우만 몇번 본 것 같네요..
해당 댓글은 삭제되었습니다.
그렇죠? 제가 본 강의도 다 interface 쓰지 abstract를 쓴 걸 본적이 없는듯
오히려 abstract단에서 건들면 효과적인 경우(죽어도 안 바뀔만 한 함수같은 거)가 분명 존재할텐데 다 interface를 쓰더라구요
solid원칙에 따라서 역할과 기능(구현)을 확실히 분리하기 위해서 라는 목적인지는 모르겠는데, 그렇더라구요
일단 따라가는게 맞는 것 같아요.. 답변 주셔서 감사합니다 인터페이스를 쓸게요