abstract가 전체 설계단, interface가 함수단에서 설계하면 좋다는 정도로 알고 있는데,

설계할 때 유의미하게 구분하기 좋은 지점이 있을까요?

일반적으로 abstract를 많이 쓰나요?

abstract로 interface기능 받도록 class 구현하고, 오버라이딩 한 다음에, 그 기능을 구현체로 다시 구현하는 건 현업을 안해봐서 모르겠는데 안할 것 같고(코드가 너무 길어짐),

interface가 역할과 기능을 분리한다면, abstract는 의도적으로 일부분만 기능을 분리할 수 있는데, interface를 쓰는 경우만 몇번 본 것 같네요..