https://tech.kakaobank.com/posts/2411-solid-truth-or-myths-for-developers/ 모든 개발자가 알아야 할 SOLID의 진실 혹은 거짓기술 면접 자리에서 SOLID 5대 원칙에 대한 질문을 받아보신 분이라면 주목! 이 글에서는 SOLID 원칙의 역사와 장점, 그리고 각각의 원칙에서 중요한 점을 면접 상황 예시를 통해 가볍게 풀어보았습tech.kakaobank.com 1. 변경에 유연한 구조 '변경에 유연하다'는 말은 곧 '결합도는 낮고, 응집도는 높은 구조'를 의미합니다.예를 들어 A라는 회사의 시스템이 작은 기능 추가에도 수십 개의 테스트가 깨질 만큼 복잡하다면, 기능을 자주 추가하는 것이 어려울 것입니다. 이때 매달 새로운 기능을 출시할 수 있는 ..
객체지향
추상과 구체중요한 정보는 가려내어 남기고, 덜 중요한 정보는 생략하여 버린다. 적절한 추상화는 복잡한 데이터와 복잡한 로직을 단순화하여 이해하기 쉽도록 돕는다. 이름을 지어주는 행위 -> 단순하면서도 중요한 추상적 사고 행위 이름 짓기단수와 복수를 구분하기 끝에 '-(e)s' 를 붙여 어떤 데이터가 단수인지, 복수인지 나타내는 것만으로도 중요한 정보를 전달할 수 있다. 이름 줄이지 않기 줄임말이라는 것은 가독성을 제물로 바쳐 효율성을 얻는 것으로, 대부분 잃는 것에 비해 얻는 것이 적다. 은어/방언 사용하지 않기 좋은 코드를 보고 습득하기 비슷한 상황에서 자주 사용하는 단어, 개념 습득하기 ex) pool, candidate, threshold 매직 넘버의미를 갖고 있으나, 상수로 추출되..