디시인사이드 갤러리

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

갤러리 본문 영역

실용적 관점에서의 OOP 3

나르시갤로그로 이동합니다. 2025.09.10 04:26:04
조회 95 추천 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 - -
2889541 일하면서 볼만한 영화나 드라마 추천좀! [5] ux8라(106.101) 09.16 71 0
2889540 화장실 표지 낙서.. ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 09.16 67 0
2889538 하이닉스 씨발 40% 수익중 [1] hrin(220.120) 09.16 77 0
2889537 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.16 51 0
2889536 하루 한 번 헤르미온느 찬양 [3] 헤르 미온느갤로그로 이동합니다. 09.16 75 0
2889533 너네도 대단하다 [4] 루도그담당(211.184) 09.16 91 0
2889532 ㅋㅋ 아청물이나 올리는새끼는 지능도 딸려서 [1] 프갤러(121.139) 09.16 79 0
2889527 사람들한테 팩트를 알려주는 재미가 있네 ㅎㅎ [2] 프갤러(121.139) 09.16 74 2
2889526 음악 씨디가 리눅스 발명도둑잡기(118.216) 09.16 51 0
2889522 아침형 개발자 특) [2] Naro갤로그로 이동합니다. 09.16 88 0
2889521 ❤✨☀⭐⚡☘⛩나로님 시작합니당⛩☘⚡⭐☀✨❤ Naro갤로그로 이동합니다. 09.16 43 0
2889451 인생을 바꾸는 법 [4] 프갤러(118.235) 09.16 100 1
2889439 똥글 ㅇㅇ(211.59) 09.16 58 0
2889432 러빨러도 울고 갈, Ada 예외 처리, 6.5 Ada.Exceptions [1] 나르시갤로그로 이동합니다. 09.16 73 0
2889430 러빨러도 울고 갈, Ada 예외 처리, 6.4 예외 전파 나르시갤로그로 이동합니다. 09.16 49 0
2889429 러빨러도 울고 갈, Ada 예외 처리, 6.3 예외 처리하기 나르시갤로그로 이동합니다. 09.16 71 0
2889428 러빨러도 울고 갈, Ada 예외 처리, 6.2 예외 발생시키기 나르시갤로그로 이동합니다. 09.16 59 0
2889426 러빨러도 울고 갈, Ada 예외 처리, 6.1 예외 처리의 기본 개념 나르시갤로그로 이동합니다. 09.16 62 0
2889423 혼란하다 혼란해 개멍청한유라갤로그로 이동합니다. 09.16 79 0
2889417 오피란 무엇인가?? ㅋㅋㅋㅋㅋㅋ ㅇㅇ(221.146) 09.16 86 0
2889416 음기 충전 발명도둑잡기(118.216) 09.16 84 0
2889409 디시에서 고소드립하는 좆장애년 어서오고 ㅋㅋ [1] 프갤러(106.101) 09.15 113 0
2889408 맞말이라 반박 절대 못함 ㅋㅋㅋ ㅇㅇㅇㅇ(49.254) 09.15 63 0
2889407 솔라나 폰 언제오지 ㅇㅅㅇ [1] 꼬치의달인갤로그로 이동합니다. 09.15 85 0
2889373 ㅆㅇㅆ은 나에게 사과할 생각이 없는가? 나르시갤로그로 이동합니다. 09.15 72 1
2889371 ㅆㅇㅆ이 분노를 멈추지 못하면 나르시갤로그로 이동합니다. 09.15 73 1
2889368 ㅆㅇㅆ 언행 알고리즘 분석 1 나르시갤로그로 이동합니다. 09.15 62 1
2889363 ㅆㅇㅆ은 무엇이 문제인가? 나르시갤로그로 이동합니다. 09.15 79 1
2889359 ㅆㅇㅆ 얘 또 시비질이냐? 나르시갤로그로 이동합니다. 09.15 69 1
2889348 내가 지금 Ada 예외 처리 글 작성 하냐고 정심이 없음 [1] 나르시갤로그로 이동합니다. 09.15 74 0
2889346 첨으로 한 주에 면접 2개 잡힘 [1] 무관갤로그로 이동합니다. 09.15 97 0
2889345 공유기 밑에 나중에 나스 놀거 생각해서 이렇게 놓았는데... 넥도리아(220.74) 09.15 99 0
2889342 보통 통신사 공유기 어디다 놓아요? 넥도리아(220.74) 09.15 88 0
2889341 랜선 내방망 구축중입니다. [4] 넥도리아(119.195) 09.15 103 0
2889340 저녁 [1] 발명도둑잡기(118.216) 09.15 53 0
2889338 AI 글 수정하는거 보고가 ㅋㅋ 나르시갤로그로 이동합니다. 09.15 77 0
2889337 제미니 유무료로 글 써보니까 느낀 점 나르시갤로그로 이동합니다. 09.15 70 0
2889335 ㅆㅇㅆ 범죄 증거 목록.txt [24] 나르시갤로그로 이동합니다. 09.15 195 4
2889334 ㅆㅇㅆ 분명히 경고했다. 범죄 한번 더 저지르면 고소한다고 했다. 나르시갤로그로 이동합니다. 09.15 77 3
2889333 ㅆㅇㅆ 비방 목적 허위 사실 유포 한번만 더하면 고소한다. 나르시갤로그로 이동합니다. 09.15 103 4
2889331 AI 사용 제한까지 오늘 함 다 써보자 ㅋㅋ 나르시갤로그로 이동합니다. 09.15 70 0
2889330 이 자슥 완벽히 차단하는 방법 없는가? 나르시갤로그로 이동합니다. 09.15 64 0
2889329 개쩌는 게임 아이디어가 떠올랐는데 과연 내가 할 수 있을까 프갤러(218.154) 09.15 60 0
2889328 ㅆㅇㅆ 얘는 지가 불특정 다수한테 까이는 걸 굳이 왜곡 나르시갤로그로 이동합니다. 09.15 76 8
2889327 발톱이거 깨진거 n개월 째인데 [1] 루도그담당(211.184) 09.15 78 0
2889326 내 관심 받으려 하지 말고 니들 일이나 해. 나르시갤로그로 이동합니다. 09.15 52 3
2889325 ㅆㅇㅆ은 의문의 다중이? 망상으로 타인을 공격해. 나르시갤로그로 이동합니다. 09.15 54 3
2889323 러빨러 또 납션냐? 너도 정신 차리고 살아 나르시갤로그로 이동합니다. 09.15 49 0
2889322 ㅆㅇㅆ 또 망상, 현실 왜곡하니? 나이도 한참 어리구만. ㅎㅎ 나르시갤로그로 이동합니다. 09.15 72 3
2889321 우울증 << 이거 뭐하면 오는거임? [3] 루도그담당(211.184) 09.15 91 0
뉴스 ‘백번의 추억’ 김다미-신예은-허남준의 음악다방 미팅이 시작된다! 내일(20일) 밤 첫 방송! 디시트렌드 09.19
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2