객체지향 프로그래밍

객체지향 설계를 효과적으로 하기 위해 제안된 다섯가지 원칙이 존재합니다. 코드의 유지보수성과 확장성을 높이기 위한 원칙이죠. SOLID는 각 원칙의 첫 글자를 딴 약어입니다. 하나씩 개별 포스팅을 통해 정리해 나가려고 합니다. 이 글에서는 개념만 간략히 설명하도록 할게요!1. 단일 책임 원칙 (SRP, Single Responsibility Principle)하나의 객체는 하나의 책임만 가져야 한다는 원칙입니다. 이는 어떤 변경이 발생했을 때 클래스를 변경할 이유는 단 하나여야 한다는 뜻입니다. 2. 개방-폐쇄 원칙 (OCP, Open-Cloesd Principle)소프트웨어는 확장에는 열려있고, 변경에는 닫혀 있어야 한다는 원칙입니다. 이는 기존의 코드를 변경하지 않고도 새로운 기능을 확장할 수 있어야..
최근에 봤던 회사의 기술면접에서 리스코프 치환 원칙에 대해서 물어보았습니다. 리스코프 치환 원칙이 무엇인지 대강은 알고 있었지만 막상 설명하려니 잘 나오지가 않더군요.. 게다가 그것을 위반한 코드의 예시와 그 코드를 올바르게 수정하려면 어떻게 해야 하느냐는 질문에 잘 답변하지 못했습니다 ㅠㅠ 이번 포스팅에서는 리스코프 치환 원칙에 대해서 제대로 공부도 할 겸 정리해 보려고 합니다. SOLID원칙을 정리해 둔 블로그들을 보면 보통 자바로 정리되어 있는 경우가 많은데, 제 글이 코틀린을 주로 사용하시는 개발자 분들에게 도움이 되었으면 합니다. 1. 리스코프 치환 원칙이란?리스코프 치환 원칙(LSP, Liscov Substitution Principle)은 객체지향 프로그래밍의 5원칙인 SOLID원칙 중 하나..
1. 객체지향 프로그래밍은 알겠는데, 객체는 모른다?컴퓨터공학을 전공하신 분들이라면, 또는 자바나 C++과 같은 프로그래밍 언어를 공부하신 분들이라면 객체지향 프로그래밍이 무엇인지 모르시지는 않을 것입니다. 절차지향 프로그래밍과 반대되는, 프로그램의 설계를 객체라는 개념을 토대로 바라보는 관점이 바로 객체지향 프로그래밍입니다. 하지만 많은 개발자들이 객체지향 프로그래밍을 하고 있으면서도, 객체가 무엇인가?라는 질문에 대해 명확한 대답을 할 수 있는 사람은 드뭅니다. 저 또한 그러한 사람 중 한 명이었고, 우아한테크코스에서 공부하며 제가 아직도 객체가 무엇인지, 심지어 객체지향 프로그래밍이 무엇인지조차 모르고 있었다는 사실을 깨닫게 되었습니다. 그래서 객체란 무엇인지 한 번 제대로 짚고 넘어갈 필요가 있다..
Alsong
'객체지향 프로그래밍' 카테고리의 글 목록