인터페이스 2

[SOLID] ISP | 인터페이스 분리 원칙 (Interface Segregation Principle)

[SOLID] ISP | 인터페이스 분리 원칙 해당 글은 LSP와 추상화에 대해 이해하고 계시면 더욱 이해하기 쉽습니다. 추상화가 궁금하시다면 https://eojil-hyunin-in.tistory.com/3 이 글을 읽어주세요! 우선 ISP의 정의부터 뭔지 알아보죠! 인터페이스 분리 원칙은 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다. 인터페이스는 객체가 사용하는 메서드를 정의해놓는 설계도와 같은 역할을 가집니다. 예시 아래 예시들은 기능을 구현하는 클래스들은 인터페이스로부터 구현을 받아야 한다는 전제하에 설명된 예시들입니다. ISP를 지키는 예시를 설명하자면 자동차에 존재하는 기능들은 전진, 후진, 정지, 가속 등등 여러 기능들이 존재합니다. public interfa..

Java/SOLID 2022.04.21

추상 클래스 vs 인터페이스

추상 클래스 vs 인터페이스 추상 클래스와 인터페이스의 차이점을 설명해주세요 이 글은 해당 질문의 대한 답을 하기 위해 작성되었습니다! 지금 이 글을 읽고 계신 여러분도 이에 대한 답을 알고싶다면 이 질문을 잘 기억하셨다가 글을 다 읽어보고 답을 내려보시면 좋겠습니다! 추상화란? 우선 추상 클래스를 알기 전 추상 클래스 앞에 붙어있는 추상에 대한 것부터 알아보죠 추상화 : 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것 이처럼 추상화는 구체적인 사물들간의 공통점을 취하고 차이점을 버리는 일반화를 사용하거나, 중요한 부분을 강조하기 위해 불필요한 세부사항을 제거함으로써 간결하게 만듭니다. 요점은 불필요한 코드를 제거하고 중요한 부분을 살리는 것입니다. 예를들어 우리가 자동..

Java 2022.04.12