디시인사이드 갤러리

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

갤러리 본문 영역

실용적 관점에서의 OOP 3

나르시갤로그로 이동합니다. 2025.09.10 04:26:04
조회 105 추천 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/10/06 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
2888638 “한의사를 공공의사로 전환하자” 국민 찬성 여론 70% 육박 발명도둑잡기(118.216) 09.12 68 0
2888637 요즘 바이브코딩 한다고 깝치는새끼들 왜이리 줫같지 [5] 프갤러(220.94) 09.12 164 1
2888635 오늘 자전거 타다가 휴대폰 놓쳐서 아래 부분 약간 깨졌다 발명도둑잡기(118.216) 09.12 73 0
2888627 일본 이지랄 [1] 프갤러(106.102) 09.12 101 0
2888619 죽으려고할때 부추긴 친구들 [4] 조루디(118.235) 09.12 111 0
2888617 페도새끼들 공통점 [1] 프갤러(106.102) 09.12 105 0
2888612 옵챗 [2] 조루디(118.235) 09.12 99 0
2888610 심심 [1] 조루디(118.235) 09.12 74 0
2888608 개발자에 보이지않은 계급이 있읍 [3] 조루디(118.235) 09.12 127 0
2888607 백수시절에 나 어땟어 [3] 조루디(118.235) 09.12 103 0
2888605 지금 자바 국비 하는거 영 아니겠지? [2] 프갤러(222.233) 09.12 202 0
2888604 한국은 선두에서서 뭘바꾼적이 한번도 없는나라다 프갤러(121.139) 09.12 68 0
2888602 메타는 한국뽕 취해서 퓨리오사 인수하려는거 보면 프갤러(121.139) 09.12 121 0
2888601 힘들다 ㅎㅁㅅㅌ가 죽으라고 할때 죽을걸 [2] 조루디(118.235) 09.12 112 0
2888600 프로그램 개발, 몰라도 너무 모른다. 프갤러(59.16) 09.12 74 0
2888599 지능장애는 개발자 포기해야하냐 [1] 조루디(118.235) 09.12 97 0
2888598 밥먹으러간다 다들 불금 잘보내셈 [1] 프갤러(121.139) 09.12 78 0
2888597 개발자 때려칠까 [1] 조루디(118.235) 09.12 117 0
2888596 퓨리오사가 뭔데 nvida를 대체한다고 하는거임? [1] 프갤러(121.139) 09.12 150 0
2888595 2년차 돈은 꽤버는데 [5] 조루디(118.235) 09.12 162 0
2888594 프로그래밍 입문하고 싶은데 [1] ㅇㅇ갤로그로 이동합니다. 09.12 87 0
2888593 잘지내냐 [2] 조루디(118.235) 09.12 87 0
2888592 이거 텃새냐? [2] 프갤러(59.16) 09.12 86 0
2888591 한국인은 착한듯 [1] ㅇㅇ(175.197) 09.12 86 0
2888590 노래들어요 [2] 배구공(119.202) 09.12 71 0
2888589 풍산 추가로 샀다 [1] hrin(114.160) 09.12 94 0
2888588 일본 좋네 [3] hrin(114.160) 09.12 96 0
2888587 부산 우리동네에 호텔아조씨가 식당하는곳있는데 ㅇㅇ(175.197) 09.12 86 0
2888585 프갤엔 장애인들이 많아서 올때마다 항상 신선하네 ㅋㅋ [4] 프갤러(121.139) 09.12 111 0
2888584 이런글 볼떄마다 웃김 ㅋㅋ [2] 프갤러(121.139) 09.12 123 2
2888583 잼민아이 이 새끼 뭐임? 제미나이 프로 연 3만원 개꿀이노 ㅋㅋ [1] 프갤러(223.39) 09.12 78 0
2888582 제미나이 연 최저가 3만원 ㅈㄴ 싸네 잼민아이(223.39) 09.12 66 0
2888581 파이썬 언어 존나 병신같음 [1] 프갤러(220.70) 09.12 109 0
2888579 야 왜 냥덩이 개롭히는데? 프갤러(49.165) 09.12 92 0
2888578 여기서 긁힐게 어딧냐 ㅋㅋ [3] 프갤러(121.139) 09.12 74 2
2888575 ㅋㅋ 여기애들 ai로 정보얻고 시니어인척 행세하는거 존나웃기네 [4] 프갤러(121.139) 09.12 132 2
2888574 당장 해결할 수 없는 일은 그냥 묻으련다. 고민한다고 바뀔것도 아니고 ㅇㅇ(223.38) 09.12 63 0
2888573 성당이 있는데 왜 신천지나 이상한 교회감? [2] 프갤러(175.197) 09.12 79 1
2888572 '병역기피' 유승준, 최측근 폭로로 나락行 발명도둑잡기(118.216) 09.12 62 0
2888571 80년 전 만평 발명도둑잡기(118.216) 09.12 73 0
2888570 도스에서 vesa vbe 지원하게 에뮬레이션 발명도둑잡기(118.216) 09.12 67 0
2888569 식빵 글 보니 생각나는 것 발명도둑잡기(118.216) 09.12 55 0
2888568 종교 중독된 상태와 비슷한 뇌상태로 만드는 약물 발명도둑잡기(118.216) 09.12 65 0
2888567 종교 과몰입을 유발하는 사회환경 발명도둑잡기(118.216) 09.12 65 0
2888566 여기 리박스쿨이나 신천지, 몰몬교도 있나요? 발명도둑잡기(118.216) 09.12 54 0
2888565 <케이팝 데몬 헌터스> 봤다 발명도둑잡기(118.216) 09.12 81 0
2888564 사람이 곧 하느님이다 발명도둑잡기(118.216) 09.12 64 0
2888563 국정원이 미국, 일본 간첩은 안 잡는 듯 발명도둑잡기(118.216) 09.12 63 1
2888562 개발자하려고 돈 존나 투자하는 거 병신같음? [4] ㅇㅇ(118.235) 09.12 109 0
2888559 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09.12 101 0
뉴스 '은수 좋은 날' 김영광, 충격 사건에 휘말린다! 이영애와 창고 도피한 사연은? 디시트렌드 10.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2