디시인사이드 갤러리

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

갤러리 본문 영역

실용적 관점에서의 OOP 3

나르시갤로그로 이동합니다. 2025.09.10 04:26:04
조회 108 추천 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 - -
2889083 큐 생각해보면 개꼴림 [2] 저능아갤로그로 이동합니다. 09.14 109 0
2889082 AI 대체 안되는 개발자 되려면 어케 해야함 [5] 의식의문갤로그로 이동합니다. 09.14 211 0
2889078 이제 채용공고도 안보이네 무관갤로그로 이동합니다. 09.14 99 0
2889070 ■6등급이었는데 오픽ih 딸려면 얼마나걸림? ㅇㅇ갤로그로 이동합니다. 09.14 67 0
2889067 햄버거가 진짜 존나 쉬운메뉴인거아냐?? [1] ㅇㅇ(223.39) 09.14 121 0
2889063 어비란 유튜버가 국내 유튜브 1타 강사래서 발명도둑잡기(118.235) 09.14 78 0
2889062 냥덩이 뛰뛰가 [2] 개멍청한유라갤로그로 이동합니다. 09.14 124 0
2889061 동창회 발명도둑잡기(118.235) 09.14 67 0
2889060 사람을 닮은 컴퓨터 발명도둑잡기(118.235) 09.14 99 0
2889059 백엔드갤 조루디(118.235) 09.14 99 0
2889053 국비충들 웹으로 먹고살려면 최소 세션맺어지는지까지는 알고 취업문 두들여라 [3] ㅇㅇ(211.234) 09.14 196 0
2889051 은근한 소원 조루디(118.235) 09.14 69 0
2889049 저같은 저능아도 밥먹고삽니다 [5] 조루디(118.235) 09.14 126 0
2889048 국비 신입들은 근데 좀 심하게 못하던데 [1] ㅇㅇ(211.234) 09.14 258 0
2889045 [대한민국] 자유민주주의, 자유 지상주의 등등 정치 이념들 프갤러(121.172) 09.14 69 0
2889044 중소기업도 서류도 찢기는데 스펙좀 봐주라.. [3] 프갤러(124.54) 09.14 179 0
2889042 백갤 개쫄보같이 통신사 아이피 막이놨네 [1] 프갤러(211.234) 09.14 84 0
2889041 진짜진짜 쇼츠 끊는다 주말아침에 4시간동안 쇼츠만내렸네 [1] ㅇㅇ(223.39) 09.14 89 0
2889038 영화와 현실 패싸움 차이 발명도둑잡기(118.235) 09.14 67 0
2889034 하늘이 감격하면 결제가 되더랍니다. 넥도리아(223.38) 09.14 71 0
2889031 성님들 c# 나중에 이직하기 좋나영 [4] ㅇㅇ(210.179) 09.14 168 0
2889030 문재인때 유독 블라인드, 블라인드면접 ㅇㅈㄹ 단어가 생긴게 타이밍뒷.통수한방(1.213) 09.14 74 0
2889029 힘들다 [7] ㅆㅇㅆ(124.216) 09.14 114 0
2889028 요즘 SI 취업도 힘들어? [5] 프갤러(49.167) 09.14 320 0
2889021 가끔 과거 사진들을 보는데 루도그담당(58.239) 09.14 77 0
2889017 이상과 현실 사이 브라우저는 자동으로 닫혀진다. 그리고는 기록을 남긴다. 넥도리아(119.195) 09.14 71 0
2889015 병신들 ㅇㅅㅇ ㅇㅇ(49.165) 09.14 80 0
2888996 이거어떰.. 프갤러(223.38) 09.14 72 0
2888995 장기기증 하면 안되는 이유 야옹아저씨갤로그로 이동합니다. 09.14 106 0
2888992 종합소득세 들어오는데 돈좀 빌릴수잇을까ㅜㅜ html(118.235) 09.14 86 0
2888990 연꽃 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.14 69 0
2888989 태연 ㅇㅅㅇ [1] 헤르 미온느갤로그로 이동합니다. 09.14 67 0
2888988 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09.14 72 0
2888984 돈은 받아도 사람은 안 받는 서방 발명도둑잡기(118.216) 09.14 78 0
2888983 로스트 미디어 김중만 광고 발명도둑잡기(118.216) 09.14 91 0
2888982 shigetani hotaru 발명도둑잡기(118.216) 09.14 63 0
2888981 군수님 행사에 외국인 여성들 발명도둑잡기(118.216) 09.14 78 0
2888980 요즘 애들은 영어 잘 하고 개나소나 영어 잘한다던데 사실임? [1] ㅇㅇ(58.229) 09.14 97 0
2888978 음기 충전 발명도둑잡기(118.216) 09.14 77 0
2888977 몇 년 전에 디씨인싸이드 공식앱이 클립보드 내용 가로챈다는 글 발명도둑잡기(118.216) 09.14 86 0
2888976 오늘의 발명 실마리: 읽었던 글, 기사, 게시판 미디어 자동수집 발명도둑잡기(118.216) 09.14 79 0
2888974 오늘의 작사 실마리: 미국에 감금된 한국 노동자들 발명도둑잡기(118.216) 09.14 72 0
2888972 오늘의 발명 실마리: 휴머노이드 선풍기 발명도둑잡기(118.216) 09.14 69 0
2888971 넥도리아야 뭔소리 하는거냐 [6] 발명도둑잡기(118.216) 09.14 97 0
2888969 밤새 자위 했는데 정액 하나 안 나오네..., 오늘은 망했다. 넥도리아(119.195) 09.14 76 0
2888967 질 입구로 주사기로 깊숙이 넣어주는게 맞냐고, 넥도리아(119.195) 09.14 83 0
2888965 나 지금까지 야동 보다가, 정신 차리고 스칼렛 하는데, 넥도리아(119.195) 09.14 73 0
2888959 자바 신입 경쟁율 아직도 높냐? [1] 프갤러(59.16) 09.14 156 0
2888952 유니코드 iso10646 차이 [2] 발명도둑잡기(118.216) 09.14 100 0
2888949 짐승친구들 재밋어서 인형도 삿음 [2] 야옹아저씨갤로그로 이동합니다. 09.14 86 0
뉴스 스톤 아일랜드 한국 단독 컬렉션 출시 ... 브랜드 역사상 최초 디시트렌드 10.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2