객체지향 3

객체지향적 Refactoring 과정의 기록

현재 진행 중인 프로젝트의 객체지향적 리팩터링 과정을 기록해보고자 한다.구체적인 리팩터링 과정에 앞서 리팩터링이란 무엇인지 짧게 설명하자면 Refactoring이란 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법이다. 즉, 결과는 바뀌지 않지만 내부적으로 코드의 구조 혹은 코드의 디자인을 개선시켜서 코드의 가독성과 유연성, 유지보수성등을 향상하는데 목적이 있다. 지금 쓰는 글이 단순히 리팩터링에 대한 글이라고 생각하지는 않았으면 한다.내가 한 리팩터링은 사실 리팩터링보다는 구조 개선에 가까운 코드 수정이며, 진행하면서 많은 것들이 바뀐다.다만 객체지향설계와 객체지향프로그래밍을 공부하면서 최대한 프로젝트를 객체지향적으로 고치고자 하기에, 코드를 고쳐가며, 어떤 문제점들이 있었는지 자세한 코드와 함께..

백엔드 멘토링 2024.07.11

객체지향의 사실과 오해 후기

이번에 객체지향의 사실과 오해라는 책에 대해서 읽게 되었다. 이는 객체지향적 설계를 잘하는 법에 관련하여 서술하고 있었고, 이로 인해 나도 많은 도움을 얻었다. 이 책에서 말하는 객체지향의 오해란 많은 사람들이 객체지향은 현실세계의 모방이라고 생각한다는 것이다. 하지만 책의 작가는 우리가 현실세계에는 없는 객체마저 객체지향의 세계에서는 생성이 가능하기에 객체지향은 현실세계의 모방이 아닌 은유라고 하였다. 예를 들자면 현실세계에서는 전구 스스로 불을 켰다 껐다 할 수 없지만 객체지향의 세계에서는 이것이 가능하며, 이상한 나라의 앨리스를 객체지향 세계로 만든다 하였을 때는 현실세계에서는 존재할 리 만무한 트럼프 인간등이 등장하게 되는 것이다. 따라서 우리는 현실세계의 객체들에 대해 중요한 포인트만 뽑아 객체..

백엔드 멘토링 2023.08.27

2023/03/26 - 객체지향 개념 및 UML,CBD,SOA

- 객체 지향 프로그래밍 언어에 대해 어떻게 생각하나? : 객체 지향 프로그래밍 언어란 객체를 생성하고 객체를 사용하는 프로그래밍 언어입니다. 이전의 프로그래밍 언어들 보다 더 기계가 아닌 현실세계 즉 인간에 초점을 맞추어 개발자들의 사고방식을 프로그래밍에 접목시켜 개발을 더욱 쉽게 만들어 주었다고 생각합니다. 또한 객체지향 프로그래밍을 하면 더 유연하고 코드의 재사용을 극대화 시킬 수 있다는 장점또한 있습니다. - 객체지향에서 객체는 무슨 기준으로 나누나? : 먼저 객체지향에서의 객체는 책임을 기준으로 나누어지고, 한 객체는 하나의 책임을 가지게 됩니다. 하지만 개발자가 인지하고 사고하는 방식에 따라 책임의 기준이 달라지므로 정확한 기준점은 없다고 생각합니다. - 자바 언어에서는 객체 지향 프로그래밍을..

백엔드 멘토링 2023.04.07