디시인사이드 갤러리

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

갤러리 본문 영역

실용적 관점에서의 OOP 3

나르시갤로그로 이동합니다. 2025.09.10 04:26:04
조회 96 추천 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/22 - -
AD 가전디지털, 액세서리 SALE 운영자 25/09/12 - -
2889996 인프런 강의 30% 할인이 가장 크게 할인 하는 거임? ㅇㅇ(211.234) 09.18 215 0
2889992 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09.18 41 0
2889991 러스트 코드는 왜 병신인가? [1] 나르시갤로그로 이동합니다. 09.18 51 0
2889990 저는 사실 고급인력입니다. 걧돈슈킹예아(119.202) 09.18 45 0
2889989 마시써 [1] 걧돈슈킹예아(119.202) 09.18 44 0
2889988 진짜 다들 회까닥 돌았지. llm이 코드 잘 짜준다고 언어를 정하다니 [1] 프갤러(218.154) 09.18 75 0
2889987 ㅋㅋㅋ ㅆㅇㅆ 이새끼 존나 골떄리는놈이네 [3] 프갤러(121.139) 09.18 156 6
2889986 회사코드 확 riir해버리고 싶다. [3] 프갤러(218.154) 09.18 60 0
2889985 나는 저능아이지만 [1] 걧돈슈킹예아(119.202) 09.18 48 0
2889984 러스트 시비거는 놈들도 개병신 저능아들만 시비 걸더라고 [3] 프갤러(218.154) 09.18 50 0
2889983 인생 개좇되로 사는새끼들이 더 잘사누 우연일까 뒷통수한방(1.213) 09.18 44 0
2889982 나는 왜 좆 저능아새끼들이 시비걸까 [4] ㅆㅇㅆ(124.216) 09.18 80 0
2889981 저능아들이 AI가 망치로 때린다는 뜻을 의미를 이해 못함 원리를 몰라서 ㅆㅇㅆ(124.216) 09.18 79 0
2889979 결국 ai근간 자체가 경사하강법이라 ㅆㅇㅆ찡갤로그로 이동합니다. 09.18 57 0
2889978 AI 쓸수록 결국 프로그래밍 추상화 방법 잘 아는 내 가치가 올라서 좋아 [2] ㅆㅇㅆ(124.216) 09.18 93 0
2889977 하루에 오조오억줄 감사의 코딩 [6] 공기역학갤로그로 이동합니다. 09.18 82 0
2889976 대학생으로 다시 돌아간다면 [3] 루도그담당(118.235) 09.18 64 0
2889975 필연적으로 느끼는게 AI 쓰는 사람이 많아질수록 내 가치가 오름 ㅆㅇㅆ(124.216) 09.18 54 0
2889974 요즘은 LLM CLI 세팅 자체를 그냥 자동화해놓으니 이거 관련한 문의가 [2] ㅆㅇㅆ(124.216) 09.18 74 0
2889973 옛날에 알고지내던 친구 [1] 루도그담당(118.235) 09.18 64 0
2889972 LLM cli 깔아서 자동으로 홈페이지 만드니까 애들이 신기해하더라 ㄹㅇ [2] ㅆㅇㅆ(124.216) 09.18 79 0
2889971 자바 버전 25인게 웃음벨이네 [1] 헬마스터갤로그로 이동합니다. 09.18 66 0
2889970 오늘도 먹고 살기 힘들다 진짜 [6] ㅆㅇㅆ(124.216) 09.18 66 0
2889968 중국산 휴대용 에뮬머신을 보면 걧돈슈킹예아(119.202) 09.18 48 0
2889966 ❤✨☀⭐⚡☘⛩나로님 시작합니당⛩☘⚡⭐☀✨❤ Naro갤로그로 이동합니다. 09.18 30 0
2889965 살려주세요 [1] 프갤러(118.235) 09.18 77 0
2889964 ai 이쌔끼 한국을 민주주의라고하다가 아니라고하고 뒷통수한방(1.213) 09.18 40 0
2889963 그나라 재벌들을보면 그나라 국민성을 알수있다 ㅇㅇ 뒷통수한방(1.213) 09.18 41 0
2889962 이젠 한국인들이 인격체로도 안 보이는거 정신병임? [1] ㅇㅇㅇ(175.211) 09.18 49 0
2889961 Ai있으니까 어지간한 사이트 보안취약점은 다뚫리네 [2] 프갤러(223.38) 09.18 76 0
2889960 순수 ai 세대 개발자의 성장은 궁금하긴 함 [1] ㅇㅇ갤로그로 이동합니다. 09.18 67 0
2889958 나님이 디깅한거 올렸더니 자기들이 쳐써먹노 예의 밥말아 처먹은 씹새기들 [3] ♥냥덩이♥갤로그로 이동합니다. 09.18 76 0
2889956 ai 사람갈아서 만드는거 아님?? 뒷통수한방(1.213) 09.18 52 0
2889955 Ai 를 잘 다루는 개발자 라는게 [1] 겨겨(106.246) 09.18 92 0
2889954 어느집 화단에 거의 몇달을 피어있는 꽃이 있길래..ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 09.18 58 0
2889953 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.18 40 0
2889952 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09.18 56 1
2889946 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09.18 63 0
2889914 D-Day -1 오늘도 살아있어 마지막 생존자. 넥도리아(220.74) 09.18 47 0
2889912 케이팝 데몬 헌터스 사실은 불교 속 지옥의 공무원? 발명도둑잡기(118.216) 09.18 45 0
2889906 증강하면 원본이 헉습에서 빠지는 듯 ㅇㅇ(118.235) 09.18 79 0
2889905 요즘 영포티 퐁퐁남들이 편의점을 사랑하는 이유 발명도둑잡기(118.216) 09.18 59 0
2889903 映画『国宝』|主題歌「Luminance」原摩利彦 feat. 井口 理 발명도둑잡기(118.216) 09.18 49 0
2889902 [리드머 뷰] 아프로비트 VS 아프로비츠, Afrobeat VS Afro 발명도둑잡기(118.216) 09.18 37 0
2889901 "노 젓는 삼성, 제대로다"...케데헌 등장하는 갤럭시 광고 화제 발명도둑잡기(118.216) 09.18 127 0
2889895 갤 망함? 프갤러(1.233) 09.18 52 0
2889894 쇼미더머니 이번 출연자들 성비 대부분 남자겠지? 발명도둑잡기(118.216) 09.18 44 0
2889893 Taylor Swift(테일러 스위프트) - 'Cruel Summer' 발명도둑잡기(118.216) 09.18 43 0
2889892 선임이 본인 개발 실력에 대해 자부심이 대단하네 이시꾸갤로그로 이동합니다. 09.18 112 0
2889890 C언어는 반드시 해라 [3] 박민준갤로그로 이동합니다. 09.18 123 0
뉴스 세기의 상속녀, 엘비스 프레슬리 딸 ‘리사 마리 프레슬리’ 화려한 삶 속에 감춰진 비극적 죽음의 민낯 (다큐프라임) 디시트렌드 09.20
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2