디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

실용적 관점에서의 OOP 3

나르시갤로그로 이동합니다. 2025.09.10 04:26:04
조회 89 추천 0 댓글 0

OOP가 왜 실용적인가? 알아봅시다.

nimf 라는 다국어 입력기(IME)가 있습니다.

개발 언어는 C인데 OOP 방식으로 개발하였습니다.

왜??

그게 편하니까요.

왜 nimf에 oop가 편할까요?


nimf 좀 IPC 통신(프로세스간 통신)을 합니다. 이게 좀 특이한 것이 있는데,

RPC라고 많이 들어보셨죠?

리모트(원격) 프로시저 콜(호출)이라는 겁니다.

원격으로 함수를 호출하는 것을 RPC라고 하는거에요.


그런데 로컬 PC내에서 호출하는 건 RPC라고 하지는 않는거봐요.


앱에서 IME 함수 호출 --IPC(인터 프로세스 커뮤니케이션, 프로세스 간 통신)--> 서버측 IME 함수 호출


프록시 패턴 들어보셨죠?

프록시 패턴이 사용되었습니다.

인터페이스를 통한 다형성을 구현하여

동일 함수를 호출하여 서버 측의 다국어 언어별 함수를 호출하는거죠.

그 결과 코드 수가 무척 줄었습니다. 줄어들었다기보다 과도하게 늘어나지 않은거죠.


그리고 서버측에 60~80여개의 플러그인 모듈이 있습니다.

마찬가지로 다형성으로 해결하였습니다. 여기에서는 상속을 사용하지 않고 인터페이스를 통한 다형성이죠.

왜냐하면 각 언어별 객체가 각기 다른데 어떻게 상속을... 말도 안 되죠.

아.. 상속을 하긴 했구나.. Lingua 를 인터페이스를 만들고 그걸 상속을 했으니. ㅎㅎ

이게 C 언어라 그래요. 만약 자바로 했더라면 Abstract Class 만들었을 것 같네요.


그리고 관련있는 것들끼리 파일 이름을  예를 들어, object-name.c 에 명세는 object-name.h에 넣음으로써 캡슐화를 하였죠.

또한 플러그인 모듈을 만들어 모듈로 캡슐화를 하였지요.

플러그인이라는 것이 부품처럼 끼웟다 뺐다 할 수 있는거잖아요.

그게 바로 캡슐화랑 일맥상통하는 거랍니다.

그렇다고 하여 플러그인이랑 캡슐이랑 동일시하면 안 되요.

플러그인 설계 및 구현에는 인터페이스가 제일 중요합니다용.

인터페이스로 다형성을 구현하여

동일한 인터페이스(예를 들어 동일 이름의 함수)로

영어 플러그인, 한국어 플러그인, 중국어 플러그인들의 함수를 호출하는 것이죠.

oop 관점으로 얘기하면 객체를 메소드로 조작한다고 표현합니다.

ㅎㅎㅎ

oop가 프로그램 만들 때 정말 실용적이고 유익합니다.

그런데 항상 그런거는 아니에요.

예를 들어, nimf-cons.c라는 소스코드를 보면요. oop가 아닌 절차식으로 작성했지요.

뭘 만드느냐에 따라 적합한 방식으로 개발하면 됩니다요.

우리가 프로그래밍 하는 목적은 oop를 하기 위함이 아니라 프로그램을 개발하기 위함입니다.

마찬가지로 우리가 프로그래밍하는 목적은 c, 러스트 등의 특정 언어를 사용하기 위함이 아니라

프로그램, 앱 만들기 위함이에요.

어떤이는 러스트를 사용하기 위해 프밍하는 사람도 있다하죠 ㅋㅋㅋ

고로 러스트를 사형을 선고합니다.

ㅋㅋㅋ

큐티


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 군대 예능 출연해 줬으면 싶은 여자 스타는? 운영자 25/09/15 - -
AD 가전디지털, 액세서리 SALE 운영자 25/09/12 - -
2888916 디씨말고 활발한 프로그래밍 커뮤니티 없나? [3] 프갤러(121.139) 09.13 107 0
2888914 AI주권 탈환...삼성, 네이버 글로벌 '反 엔비디아' 연합 전선 구축 발명도둑잡기(118.216) 09.13 86 0
2888913 ■요즘 스펙용 영어시험 뭐가 대세임? ㅇㅇ갤로그로 이동합니다. 09.13 68 0
2888912 mz세대라서, 윈도우 공부하려고 책 보면 [15] ㅇㅇ(211.235) 09.13 109 0
2888904 나는 딱히 알려줄게 없음. 애초에 [3] ㅆㅇㅆ(124.216) 09.13 93 0
2888902 근데 러스트로 게임 만들기 힘들긴함 게임은 여전히 상속 위주라 [5] ㅆㅇㅆ(124.216) 09.13 130 0
2888901 weston 설명 [1] 발명도둑잡기(118.216) 09.13 55 0
2888900 돈 들어갈 일들만 계속 생기는구나 발명도둑잡기(118.216) 09.13 54 0
2888899 가을 타는 노총각 지듣노 발명도둑잡기(118.216) 09.13 50 0
2888897 아니다 오히려 돈을 받아먹는 학원형 컴퍼니를 만들어서 프갤러(110.8) 09.13 55 0
2888894 신입을 그렇게 안뽑나? 무보수 인턴 컴퍼니 만들어서 쫍 빨아먹어도 되냐 [5] 프갤러(110.8) 09.13 115 0
2888893 프갤 처참하게 망해가는구만 [6] 아스카영원히사랑해갤로그로 이동합니다. 09.13 123 0
2888889 오늘 외출했다가 2만 8천원 털렸네 [1] 나르시갤로그로 이동합니다. 09.13 57 0
2888888 요즘 신입 취업이 진짜 힘든게 [4] ㅇㅇ(223.38) 09.13 163 0
2888887 weston을 freebsd에서 가능하도록 수정해야겠어 [2] 나르시갤로그로 이동합니다. 09.13 51 0
2888886 러스트 차단하니까 속이 다 시원하네 ㅎㅎ 나르시갤로그로 이동합니다. 09.13 51 1
2888883 게임 핵 << 이거 만드는거 루도그담당(58.239) 09.13 74 0
2888882 Rust, 러스트를 차단어 지장해야지 안 되겠다 나르시갤로그로 이동합니다. 09.13 45 0
2888881 카카오지도 api를 누르면 좌표가 나오는데 [3] 프갤러(211.234) 09.13 70 0
2888879 근데 대학생 때 이진탐색 버블 정렬 백날 배워봤자 안쓰긴 함. [2] 프갤러(27.166) 09.13 71 0
2888877 한국에선 러스트 쓸 일이 없다. 뭐가 메모리 안전이냐 프갤러(27.166) 09.13 60 0
2888876 하긴 러스트에 물 한번 잘못들어놓으면 인생 곤란해지긴 해 프갤러(27.166) 09.13 58 0
2888874 근데 기왕 비유니티,언리얼 할거면 러스트로 하지 왜 cpp지 [2] 프갤러(27.166) 09.13 75 0
2888873 대학교 때 c cpp로 게임 만드는 것도 좋은 경험이다. [5] 프갤러(27.166) 09.13 84 0
2888872 그냥컴공가서웹이나할껄 프갤러(223.38) 09.13 93 0
2888871 게임학과라 c c++하레 [2] 프갤러(223.38) 09.13 98 0
2888869 이건 왜 안되는거임? 파이썬임 [9] 프갤러(49.175) 09.13 90 0
2888865 문과생들에게 러스트 학습을 강요해야 하는 이유. [2] 프갤러(49.165) 09.13 80 0
2888864 실리콘이 녹는데 10분이상이 걸리네요. 넥도리아(119.195) 09.13 47 0
2888862 실리콘이 안 녹아요. 넥도리아(119.195) 09.13 50 0
2888861 죄송합니다 [3] 조루디(118.235) 09.13 79 0
2888859 무슨 생각으로 C/C++ 왜 하려 하는거냐? [2] 프갤러(59.16) 09.13 133 0
2888858 C#으로 날로 개발하다가 C++하니까 머리 개터지네 ㅇㅇ(106.241) 09.13 60 0
2888853 좇센징들은 왜이렇게 똑똑할까 ㅋㅋㅋ 뒷통수한방(1.213) 09.13 43 0
2888851 ㅆㅇㅆ한테 코딩배우고싶네 [1] 프갤러(223.38) 09.13 81 0
2888850 여자가 말만 걸어줘도 몇시간 내내 행복하더라 난 메쿠이료갤로그로 이동합니다. 09.13 51 0
2888848 고졸국비중년 국비신청했어 [1] ㅇㅇㅇ(125.130) 09.13 112 0
2888847 러스트는 신이 내린 언어입니다 나르시갤로그로 이동합니다. 09.13 55 0
2888833 러빨러들의 인지부조화 해결 과정 ㅎㅎ [2] 나르시갤로그로 이동합니다. 09.13 69 0
2888826 러빨러의 흔한 순환논증의 오류 [1] 나르시갤로그로 이동합니다. 09.13 67 0
2888822 웹싸개들 ai가대체한다는데 언제대체함??판사연예인 아나운서는 대체않하고? [4] 뒷통수한방(1.213) 09.13 97 0
2888819 [애니뉴스] 어떤 마술의 금서목록이 인기 있는 이유와 자유민주주의, 사이 프갤러(121.172) 09.13 44 0
2888817 ■웹개발할거면 컴공지식 생각보다 많이 필요없지 않냐? [2] ㅇㅇ갤로그로 이동합니다. 09.13 521 0
2888814 확실히 좇센징들이 지능이 높고 똑똑하긴한듯 ㅋㅋㅋㅋ [1] 뒷통수한방(1.213) 09.13 76 0
2888813 하느님 곧 온다는소리만 100년이 넘었누 ㅋㅋㅋㅋ 뒷통수한방(1.213) 09.13 45 0
2888811 태어났는데 남쪽 ㅋㅋㅋㅋㅋ 뒷통수한방(1.213) 09.13 47 0
2888810 근데 또 무슨 언어로 제작해주세요도 외주 요구사항에 포함이라며 프갤러(42.25) 09.13 59 0
2888809 역시 난 프리의 길을 가야하나? 그냥 일 정해서 하면 얼마 [2] 프갤러(42.25) 09.13 76 0
2888808 생각해보면 간단하네. 가스라이팅 당해주는 병신들이 있으니까 [1] 프갤러(42.25) 09.13 54 0
2888807 맥도날드가서 라지 세트 업그레이드 하려면 추가금을 내는게 상식인데 프갤러(42.25) 09.13 120 0
뉴스 하지원, 47세 탄탄한 몸매와 동안 미모로 등장...“나이를 잊은 여전한 여신” 디시트렌드 09.20
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2