디시인사이드 갤러리

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

갤러리 본문 영역

실용적 관점에서의 OOP 3

나르시갤로그로 이동합니다. 2025.09.10 04:26:04
조회 107 추천 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 - -
2888766 대만 , 일본 =섬 짱깨 한국 북한 = 땅 짱깨 카레국= 짱깨 이중대 뒷통수한방(1.213) 09.13 59 0
2888759 나는 존나 고수 프갤러(121.139) 09.13 69 0
2888748 장비회사랑 웹개발 [1] 프갤러(221.160) 09.13 79 0
2888747 스타트업이 아니고 영세기업. 프갤러(175.197) 09.13 66 0
2888746 곰곰히 생각해봤는데 결국 지능문제인듯 [6] 프갤러(58.76) 09.13 131 0
2888744 개좃소를 스타트업으로 포장하는거 좀 그만했으면 좋겠다. [3] 프갤러(110.8) 09.13 114 0
2888743 어제 너무 늦게자서 일할때 졸려서 혼났다..ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 09.13 73 0
2888742 에어로홍(=발명도둑잡기) 저새낀 또 차단당했네 ㅂㅅㅋㅋ [1] 박민준갤로그로 이동합니다. 09.13 94 0
2888741 와 념글씨발 [1] 박민준갤로그로 이동합니다. 09.13 88 0
2888740 강아지풀 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.13 60 0
2888739 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.13 57 0
2888738 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09.13 67 0
2888708 성님들 신입이 소수 스타트업 들어가면 헬이겠죠? [2] ㅇㅇ(218.149) 09.13 132 0
2888692 페르시아왕자 전 버전 가라테카 리메이크 발명도둑잡기(39.7) 09.13 65 0
2888681 공장의 유치에 혈안이 된 시대, 한국만 공장을 내쫓고 있다 발명도둑잡기(39.7) 09.13 73 0
2888679 온도는 기본상호작용과 무슨 관계 발명도둑잡기(39.7) 09.13 61 0
2888673 양자가 뇌파나 염력에 의해 영향을 받을 수 있는지 연구 발명도둑잡기(39.7) 09.13 76 0
2888670 뇌파의 도달 거리 발명도둑잡기(39.7) 09.13 87 0
2888668 전자 크기 수준 난수 발생기 발명도둑잡기(39.7) 09.13 62 0
2888667 사람이 쇼츠만 안봐도 삶이 3배는 늘어남ㄹㅇ ㅇㅇ(223.38) 09.13 68 0
2888663 보통 fe 포폴 웹페이지로 만들어? ㅇㅇ(118.235) 09.13 72 0
2888662 아날로그 반도체 발명도둑잡기(39.7) 09.13 64 0
2888660 Furiosa Warboy tutorial 발명도둑잡기(39.7) 09.13 81 0
2888659 아래 논쟁 중인 106.102 퓨리오사 이 글도 썼냐 [3] 발명도둑잡기(39.7) 09.13 198 0
2888656 [속보] 한국 스타트업 일냈다.. 오픈AI 협업 발표, 엔비디아 대체 성 발명도둑잡기(39.7) 09.13 123 0
2888650 모모 내가 데려갈게? ㅋ [2/1] 개멍청한유라갤로그로 이동합니다. 09.13 95 0
2888647 크롬, 엣지 확장기능 핀 버튼 이상한 거 왜? 발명도둑잡기(118.216) 09.13 71 0
2888646 능력것 보상받지 못하는 나라여도 뒷통수한방(1.213) 09.13 87 0
2888645 크롬 버그 뭐임? 프갤러(61.76) 09.13 82 0
2888643 바이브 코딩 혼자하면 괜찮은데 협업이면 진짜 살인충동 듭니다. 프갤러(110.8) 09.12 110 0
2888642 <너의 결혼식> 본 소감과 CIA 이야기 [2] 발명도둑잡기(118.216) 09.12 155 0
2888641 솔직히 모르겠다 시발 걍 인생 의미 없는거같음... ㅇㅇ(223.38) 09.12 95 0
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 103 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 128 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 122 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
뉴스 에스파, 내년 홍콩 공연 전석 매진…세 번째 월드 투어 ‘대흥행 예고’ 디시트렌드 10.05
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2