TIL
20220902 TIL 본질에 집중하자
jiwoosmile
2022. 9. 2. 17:29
본질이란 무엇일까?
본질이란 추상적인 단어이고, 설명하기가 쉽지 않은 단어이다.
하지만 객체지향프로그램에서 본질은 코드로 구현되어 있다.
그 말은 나도 프로그래밍을 할 때 객체지향적으로 하려면 본질을 분리해야 한다는 말이다.
본질이 뭔지 명확히 설명을 못해도 괜찮다.
하지만 적어도 분리는 할 수 있어야 한다.
본질을 분리한다는 말은 어떤 뜻일까?
관심사의 분리와도 관련이 있는데, 본질끼리 묶어두면 본질이 분리된다.
먼저 본질이 무엇인지 잘 모르겠다면 본질이 아닌 것을 먼저 알아보자.
프로그램에서 본질이 아닌 것은 클라이언트가 바뀔 때마다 바꿔줘야 되는 부분이다.
클라이언트가 바뀌어도 본질은 그대로일 것이다.
그래서 우리는 그 바뀌지 않는 것을 본질이라고 부르는 것이다.
즉, 버튼을 누르거나, 터미널에서 입력을 받는 행위는 대체될 수 있고, 따라서 본질이 아니다.
본질은 그 입력을 받았을 때 일어나는 것들이라고 볼 수 있다.
이것이 UI와 비즈니스 로직을 분리하는 가장 쉬운 방법인 것 같다.
아직 내가 하고 있는게 비즈니스로직에 해당하는지 UI에 해당하는지 헷갈리고 있다.
하지만 대체될 수 있는지 여부를 생각하면 조금 감이 잡히는 듯하다.
다른 클라이언트로 바꿨을 때 바뀔지 생각해보자.
바뀌지 않는다면 그것이 바로 본질이다.