본문 바로가기

전체 글57

HashMap vs ConcurrentHashMap 2023. 3. 5.
좋은 객체 지향 설계의 5가지 원칙(SOLID) SRP: 단일 책임 원칙(Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임은 문맥과 상황에 따라 다르며 클 수 있고 작을 수 있다. -> 변경이 있을때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것 OCP: 개방-폐쇄 원칙 (Open/Closed Principle) 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 확장을 하려면 기존 코드를 변경하는 것이 당연한데 이게 뭐지??.. 다형성을 활용해보자. 인터페이스를 구현한 객체를 바꿔서 사용하면 될듯! 하지만 결국 코드의 변경은 불가피하다 -> Dependency Injection으로 해결 LSP: 리스코프 치환 원칙 (Liskov Substitution Principle.. 2023. 3. 5.
좋은 객체 지향 프로그래밍 객체 지향 프로그래밍? 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지 를 주고받고, 데이터를 처리할 수 있다. -> 협력 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다 유연하고 변경이 용이하게 설계 레고 블럭 조립하듯이 키보드 마우스 갈아 끼우듯이 컴퓨터 부품 갈아 끼우듯이 컴포넌트를 쉽고 유연하게 변경하면서 개발할 수 있는 방법 객체 지향 프로그래밍은 다음 한 문장으로 정리 할 수 있다. '객체들의 협력으로 프로그램 작동하며 이때 각 객체들은 유연하고 변경이 용이하게 만들어야 한다' 만약, '운전자' 객체와 .. 2023. 3. 5.