객체지향 설계를 효과적으로 하기 위해 제안된 다섯가지 원칙이 존재합니다. 코드의 유지보수성과 확장성을 높이기 위한 원칙이죠. SOLID는 각 원칙의 첫 글자를 딴 약어입니다. 하나씩 개별 포스팅을 통해 정리해 나가려고 합니다. 이 글에서는 개념만 간략히 설명하도록 할게요!1. 단일 책임 원칙 (SRP, Single Responsibility Principle)하나의 객체는 하나의 책임만 가져야 한다는 원칙입니다. 이는 어떤 변경이 발생했을 때 클래스를 변경할 이유는 단 하나여야 한다는 뜻입니다. 2. 개방-폐쇄 원칙 (OCP, Open-Cloesd Principle)소프트웨어는 확장에는 열려있고, 변경에는 닫혀 있어야 한다는 원칙입니다. 이는 기존의 코드를 변경하지 않고도 새로운 기능을 확장할 수 있어야..
LSP

최근에 봤던 회사의 기술면접에서 리스코프 치환 원칙에 대해서 물어보았습니다. 리스코프 치환 원칙이 무엇인지 대강은 알고 있었지만 막상 설명하려니 잘 나오지가 않더군요.. 게다가 그것을 위반한 코드의 예시와 그 코드를 올바르게 수정하려면 어떻게 해야 하느냐는 질문에 잘 답변하지 못했습니다 ㅠㅠ 이번 포스팅에서는 리스코프 치환 원칙에 대해서 제대로 공부도 할 겸 정리해 보려고 합니다. SOLID원칙을 정리해 둔 블로그들을 보면 보통 자바로 정리되어 있는 경우가 많은데, 제 글이 코틀린을 주로 사용하시는 개발자 분들에게 도움이 되었으면 합니다. 1. 리스코프 치환 원칙이란?리스코프 치환 원칙(LSP, Liscov Substitution Principle)은 객체지향 프로그래밍의 5원칙인 SOLID원칙 중 하나..