디시인사이드 갤러리

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

갤러리 본문 영역

실용적 관점에서의 OOP 3

나르시갤로그로 이동합니다. 2025.09.10 04:26:04
조회 55 추천 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/08 - -
AD 신학기 레벨업~!! 운영자 25/09/05 - -
2888100 nimf nabi 그래서 누가씀??ㅋㅋ 뒷통수한방(1.213) 09.10 37 0
2888099 호동아 형 글에 댓글좀 고마 달아라 ㅆㅇㅆ(124.216) 09.10 50 0
실용적 관점에서의 OOP 3 나르시갤로그로 이동합니다. 09.10 55 0
2888096 국산사자..ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.10 39 0
2888095 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.10 34 0
2888094 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09.10 61 0
2888093 LLM 작성) 실용적 관점에서의 OOP 2 나르시갤로그로 이동합니다. 09.10 60 0
2888092 프로그래밍 갤러리 활동 일시중단.. [1] +abcd3421갤로그로 이동합니다. 09.10 68 0
2888091 분하다 3일을 주는게 아니라 2주 줬으면 완성할 수 있는거였는데 ㅆㅇㅆ(124.216) 09.10 59 0
2888089 이게 계수칸이 매번 똑같으면 모르겠는데, 계수칸이 매번 28~34사이에 [7] ㅆㅇㅆ(124.216) 09.10 92 0
2888082 최근 40개 외주중 3건 실패했네. [2] ㅆㅇㅆ(124.216) 09.10 103 0
2888081 OCR쪽 외주는 안받는다 했는데 가격 쎄서 받았더니 도저히 안되네 [1] ㅆㅇㅆ(124.216) 09.10 86 0
2888079 OCR이 80개 하면 4개를 빼먹으니 이거 답이없네 ㅆㅇㅆ(124.216) 09.10 58 0
2888074 24살 정신이 번쩍든다 어카냐 ㅅㅂ [2] ㅇㅇ(39.118) 09.10 125 0
2888073 실용적 oop 나르시갤로그로 이동합니다. 09.10 45 0
2888070 혼자 오래사는사람 대체로 이상하던데 ㅇㅇ(175.197) 09.10 46 0
2888067 이재명이 대단한게 뒷통수한방(1.213) 09.10 66 0
2888065 정신병은 좇센에서 태어난이상 100년 의사 국가에 바치고 살아라 뒷통수한방(1.213) 09.10 32 0
2888062 진짜 요즘 회사스트레스 때문에 정신병걸릴거같다 [1] 프갤러(39.7) 09.10 63 0
2888060 어제 19000보 이상 걸었는데, 나 열심히 산건가? [1] 넥도리아(220.74) 09.10 49 0
2888058 파스트라미를 직접 만들어볼까 그런 생각중임. ㅇㅇ(223.39) 09.10 35 0
2888057 루비 점마는 나이 쳐먹고 왜 저렇게 치졸하게 사냐. 불쌍한게 [1] ㅆㅇㅆ(124.216) 09.09 74 2
2888056 일단 돌려봤는데 자꾸 2개 3개씩 빼먹네 OCR이 ㅆㅇㅆ(124.216) 09.09 49 0
2888055 ㅆㅇㅆ보단 루비가 한수 위지. 프갤러(121.139) 09.09 63 2
2888054 요즘 비추병자들 사라진듯? ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 81 1
2888052 이스라엘 이 미친 새끼들 아스카영원히사랑해갤로그로 이동합니다. 09.09 67 1
2888049 이제 감기 조심하세요~가 아니라 장기 조심하세요~ 해야됨 [1] ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 101 0
2888047 이거 2시까지 해보고 못하겠다 해야겄다 딴사람들 왜 다 실패한줄 ㅆㅇㅆ(124.216) 09.09 55 0
2888045 질문이 있습니다 [1] 프갤러(222.108) 09.09 52 0
2888044 대한민국 커뮤 자체가 고령화 너무 심해 ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 74 0
2888043 9일 ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 54 0
2888042 나님 다이어트 식단 꿀팁 ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 50 0
2888041 나님 일부러 체중 확인 안하는즁 ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 56 0
2888040 이번 겨울은 마일리지에 집중할깡 기록에 집중할깡 ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 50 0
2888039 와 내가 이걸 아직도 손과뇌가 기억하누 뒷통수한방(1.213) 09.09 46 0
2888038 하루종일 놀면서 월급 460받으니 미안하네 프갤러(211.234) 09.09 59 0
2888037 아님 안사줌~ ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 49 0
2888036 맥북미니 램 64 팬 들어가면 사준다 ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 46 0
2888035 이게 항상 ocr 프로그램 만들때마다 느끼지만 OCR인식율 너무 낮다 [2] ㅆㅇㅆ(124.216) 09.09 79 0
2888034 벌써 애플이벤트넹 ㄷㅅㄷ ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 55 0
2888032 부모랑 같이 사는게 좇같은 이유는 흙수저라서 그런듯 뒷통수한방(1.213) 09.09 39 0
2888031 [참고물] 자연어 소프트웨어에 대한 비판.. [1] +abcd3421갤로그로 이동합니다. 09.09 88 0
2888030 연봉 2억 당신도 할 수 있습니다 ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 43 0
2888028 살인방송 m븅신 ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 30 0
2888026 나님 영생합니당☘+ ♥냥덩Pay(금본위제)♥갤로그로 이동합니다. 09.09 31 0
2888025 아키텍쳐 책 추천좀 [1] 뉴진파갤로그로 이동합니다. 09.09 67 0
2888023 바이브 똥코더한테 고통받고 굿코드 배드코드란 책 읽어봤는데 [1] 프갤러(110.8) 09.09 52 0
2888022 자소서 ai판별기 살짝 당황스럽네 공기역학갤로그로 이동합니다. 09.09 48 0
2888020 오우! WEBP와 GIF - 이미지 압축 알고리즘? 프갤러(121.172) 09.09 32 0
2888018 유나헬 사라 좆병신들아 [3] 아스카영원히사랑해갤로그로 이동합니다. 09.09 79 0
뉴스 '화려한 날들' 정인선, 입양 사실 드러나며 가족 갈등 직면! 비밀의 중심에 서다! 디시트렌드 09.11
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2