You can make anything
by writing

C.S.Lewis

by 안영회 습작 Mar 20. 2025

온라인 카지노 게임: 다시 쓰는 동시에 유연성을 줄 수 있나?

어떻게 하면 모델링을 잘할 수 있을까?

이 글은 지난 글에서 자제했던 충동을 꺼내어 설명을 시도하는 글입니다.

어쩌면 위 문장이 하드웨어에 대조적으로 소프트웨어라 불리는 인공물이 갖는 핵심적인 특징이자 가치일 수도 있다는 생각이 듭니다. 머릿속에는 OCP(Open Closed Principle)를 예로 들고 싶은 충동이 생각을 키우고 있지만 자제하겠습니다. 일단 글이 길어져서 마무리를 하려고 합니다.

모호한 생각의 늪에 빠질 수 있어 망설이고 있었는데 마침 링크드인 알림으로 받은 Chris Richardson의 댓글이 영향을 주어 쓰게 된 면도 있고, 번거로운 일을 도와줄 두 개의 인공지능 서비스 덕분이기도 하네요.

온라인 카지노 게임

다만, 온라인 카지노 게임Module이라는 말까지 등장하니 장황한 글로 번질 우려가 있습니다. 그래서 주제를 빨리 제시하고 최대한 분량을 줄일 생각입니다.


상속보다는 위임을 쓰자 Composition over inheritance

지난 글에서 언급한 '연관Association을 남용하지 않기'란 표현을 쓰고 나서 마음에 들었습니다. 어디서 들어본 말이 아니라 어색하긴 하지만 직관적으로 와닿는다고 느꼈기 때문입니다. 한편, 그 표현은 여운이 있었는데, 어디선가 들어본 다른 말을 떠올리게 했습니다. 바로 그 유명한(혹은 했던) GoF의 디자인 패턴 앞부분에 나오는 'Composition over inheritance' 원칙이 그것입니다.


GoF의 디자인 패턴은 대학원 시절 수도 없이 읽었던 책입니다. 또한, '인터페이스 기반 프로그래밍Programming to interfaces' 기법을 소개할 때 로드 존슨의 빨간 책을 인용한 바 있는데, 사실은 Program to an interface, not an implementation.라는 내용으로 GoF에서 먼저 소개한 개념입니다. 다만, 로드 존슨의 책과 그 부록에서 출발한 스프링 프레임워크가 예제 역할을 충분히 했기 때문에 제 기억에 더 선명하게 남아 있었던 것이죠.

온라인 카지노 게임


상속은 유전자처럼 물려줄 온라인 카지노 게임 넣을 때 쓴다

한편, 'Composition over inheritance' 원칙을 잘못 해석하면 위임은 항상 좋고 상속은 나쁜 것이라고 여길 수도 있습니다. 저도 스프링 온라인 카지노 게임 열어서 보기 전까지는 분명 그런 의문이 있었습니다. 이미 지난 글에서도 흑백 논리의 함정을 지적한 내용이 있습니다.

하지만, Association은 나쁘고 Dependency는 좋은 것으로 오해하시면 안 됩니다. 각자 기능(역할)에 맡는 형태가 있다는 것이죠. 그것이 FFF 즉, Form Follows Function이라는 보편적 온라인 카지노 게임 원칙에 따르는 길이기도 합니다.

그렇다면 온라인 카지노 게임 어느 때 써야 할까요? 지나치게 복잡한 느낌이 없지 않지만 클로드에게 부탁해서 그린 계층도를 예로 들어 보겠습니다.

온라인 카지노 게임


왜 이렇게 긴 계층도가 필요한지는 설명하지 않겠습니다. 퍼플렉시티에게 물어서얻은 표를 기준으로 간단하게 상속의 쓰임새만 설명하죠.

핵심적인 내용은 바로 '계층 구조'라는 설명입니다. 다시 말해서, 계층 구조와 무관할 때는 상속을 쓰지 않아야 한다는 것이고요. 생각해 보지 않은 분들께는 어려운 설명일 수 있는데, '계층 구조'는 마치 유전자처럼 특정 온라인 카지노 게임 물려주고 싶을 때에만 사용하라는 지침이 제가 할 수 있는 가장 간결한 설명입니다.


온라인 카지노 게임: 다시 쓰는 동시에 유연성을 줄 수 있나?

분명, 서두에 주제를 빨리 제시해서 최대한 분량을 줄이겠다는 의도를 말씀드렸지만 생각이 그렇게 흘러가지는 않네요. 이 글에 담긴 생각의 흐름은 결국 OCP(Open Closed Principle)라는 온라인 카지노 게임 원칙을 지금까지 다룬 관계, 연관, 위임, 상속 따위와 완전히 구분해서 기억하는 파편화된 지식 체계에 변화를 가하고 싶은 충동에서 기인한 것입니다. 실전에 쓰려면 결국은 이들이 어떻게 연결되는지 알 필요가 있으니까요.


OCP 자체에 대해서는 다음 글에서 설명하기로 하고 여기서는 OCP를 떠올린 순간으로 가 보겠습니다. 바로 지난 글에서 다음 그림을 보면서 이어지는 문장을 쓸 때, 연이어 비슷한 예로 OCP를 떠올렸습니다.

맥락에 따라 상황에 따라 그리고 협업하는 주체에 따라 항상 달라질 수 있습니다.

그리고 쉽게 설명할 수 있는 방법을 얻을 수 있을까 싶어서 클로드에 다음과 같이 질문하기도 했습니다.

Spring framework 코드 중에서 웹 요청을 보내면 개발자가 어떻게 만들더라도 프레임워크를 쓰는 것 만으로 반드시 구동하는 코드 블록을 요약해서 설명해 주세요.

클로드는 연이은 질문에서 제가 쓴 out-of-box란 표현을 '개발자가 많은 코드를 작성하지 않고도 바로 사용할 수 있는 기능'으로 번역까지 해 주었는데요. 스프링은 바로 그 out-of-box 형태로 기능 제공을 하기 위해 상속과 위임 따위를 놀랍도록 잘 활용한 최고의 샘플이라고 할 수 있습니다.


Out-of-box 기능 제공 방식과 온라인 카지노 게임 결정의 은닉

글 시작 부분에 Chris Richardson의 댓글을 언급했습니다. 댓글이 달린 원래 글을 찾아보면, 시간이나 비용 관점에서는 새로운 코드 작성은 문제가 안 되고 향후 변경에 따른 고려가 중요하다는 취지의 영문 글이 나타납니다. 그에 동조하면 크리스 리차드슨이 인용한 논문을 퍼플렉시티에게 요약해 달라고 했습니다. 온라인 카지노 게임화 접근으로 두 가지 방식을 비교합니다. 하나는 처리 단계별로 온라인 카지노 게임을 구분하는 것이고, 다른 하나는 기능 단위로 분할하는 방식입니다.

요즘 표현으로 하면 전자는 절차적 프로그래밍, 후자는 객체지향이라고 할 수 있습니다. 그리고, 후자의 우수성을 언급하면서 온라인 카지노 게임 결정의 은닉정보 은닉을 말합니다.


시간 순으로 연이어 벌어진 두 개의 사건으로 머릿속에 로딩한 두 개의 단어 out-of-box와 온라인 카지노 게임 결정의 은닉이 결합하는 순간입니다. 둘은 동일한 결과를 지향한다고 할 수 있지만, 관점 차이가 있긴 합니다. out-of-box는 사용자 관점의 편의성을 부각한 표현이고, 정보 은닉은 내부 구성의 효율성에 초점을 둔 것이죠. 하지만, 양면은 동시에 발현되는 특징입니다.


이제 OCP를 떠올린 충동의 원인이 되는 생각은 다 풀어내었습니다. OCP가 무엇인지를 언급조차 안 했는데 이는 다음 글에서 다루겠습니다.


지난 어떻게 하면 모델링을 잘할 수 있을까? 연재

(11회 이후 링크만 표시합니다.)

11. 소프트웨어 온라인 카지노 게임에 대한 한국말 오리지널 글 쓰기

12. 온라인 카지노 게임 배우는 수학과 추상 그리고 추상화 수준

13. 상태도는 객체 온라인 카지노 게임의 꽃이다

14. 상태가 꽃이라면 왜 Stateless를 권하는가?

15. 모델링 초보자의 그림과 기능이 형식을 정한다는 FFF

16. 현상을 개념으로 포착한다

17. 그때그때 그려서 온라인 카지노 게임 모델링

18. 모델링을 계속하려면 어떻게 직무 환경을 온라인 카지노 게임해야 할까

19. 나는 프로그래밍에 인공 지능 역할을 이렇게 보고 있어요

20. 다른 맥락에서 글을 보다가 생각을 정제하여 문제 찾기

21. 모델링과 인터페이스의 상관관계

22. 인터페이스는 왜 모델링의 핵심 개념인가?

23. 인터페이스 기반 프로그래밍과 역할로 추려 보기

24. 관계(關係)라는 말과 연관(聯關)이라는 말의 차이

25. 의존Dependency와 연관을 잘 쓰기

브런치는 최신 브라우저에 최적화 되어있습니다.