디시인사이드 갤러리

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

갤러리 본문 영역

실용적 관점에서의 OOP 3

나르시갤로그로 이동합니다. 2025.09.10 04:26:04
조회 93 추천 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 - -
2889716 제미나이가 코딩에 강점 있는거 맞나? [2] 프갤러(58.29) 09.17 87 0
2889712 오늘의 소설, 영화 실마리: 군악병이 작사하다가 국가보안법 처벌 [1] 발명도둑잡기(118.216) 09.17 56 0
2889711 조리중 프갤러(175.197) 09.17 54 0
2889710 아 열받네 왜아직도 조리중이냐고 프갤러(121.139) 09.17 64 0
2889709 [해야 할 일] 메인 예고편 공개! 발명도둑잡기(118.216) 09.17 49 0
2889708 아씨발 치킨 아직도 조리중이야 씨발 개빡치네 [1] 프갤러(121.139) 09.17 54 0
2889707 범죄자 새끼들 나보다 잘먹는거 실화냐? - 식단 [4] 프갤러(175.197) 09.17 102 0
2889706 개인용 서버 어떤거 만들어 놓으면 재밌게 가지고 놀 수 있음? [2] 프갤러(222.110) 09.17 81 0
2889705 아 씨빨 치킨 왜안와 씨빨!!!!!!!!!!!!!!!!!!!!!!!!!! 프갤러(121.139) 09.17 52 0
2889704 치킨 왜안오냐 씨발 배고픈데 프갤러(121.139) 09.17 48 0
2889703 ㅆㅇㅆ = it 노가다 페지 인생~ 프갤러(121.139) 09.17 85 5
2889702 치킨 시켰다 ㄱ ㅐ새기들아. 프갤러(121.139) 09.17 47 1
2889701 바이브코딩 다좋은데 공연공지 안된거 만들라 시키면 지옥임 [1] 프갤러(118.33) 09.17 80 0
2889700 오늘 총수입은 33만원에 외주 4만원 해서 29만원 범 ㅆㅇㅆ(124.216) 09.17 75 0
2889699 회사가 얼마나 개판이면 비개발직군한테 바이브코딩을 시험볼까 싶기도하고 ㅆㅇㅆ(124.216) 09.17 62 0
2889698 임마누엘 토드의 문명학적 결론, "의로운 길에서 벗어나는 자는 구원받지 발명도둑잡기(118.216) 09.17 60 0
2889697 오늘 열리는게임 바로 탑승해라 ㄱㄱㄱㄱㄱㄱㄱ 프갤러(183.103) 09.17 52 2
2889696 요즘은 기획인데도 바이브 코딩 회사서 시험본다더라 [3] ㅆㅇㅆ(124.216) 09.17 80 0
2889694 오늘 대기업 현직자한테 회사서 바이브 코딩하는 방법 필요하다고 의뢰가 옴 ㅆㅇㅆ(124.216) 09.17 94 0
2889693 신규게임 같이 ㄱㄱㄱㄱㄱㄱㄱ 프갤러(183.103) 09.17 40 0
2889691 커피 한잔 원가 111원.jpg [10] 야옹아저씨갤로그로 이동합니다. 09.17 275 5
2889689 폴킴 (Paul Kim) ‘오늘 밤 (yours)’ 발명도둑잡기(118.216) 09.17 47 0
2889688 MCP 납품해서 3만원 받음 [2] ㅆㅇㅆ(124.216) 09.17 92 0
2889687 오늘의 소설, 영화 실마리: 개나 고양이 종족 외계인이 지구 침공해 해방 발명도둑잡기(118.216) 09.17 42 0
2889685 근데 왜 백앤드가 더 어렵다는거임? [4] ㅇㅇ(220.122) 09.16 102 0
2889683 윤석열 이름 새겨진 국가유공자증서 버리겠다는 후손들 발명도둑잡기(118.216) 09.16 44 0
2889682 美경제학자 “트럼프에 488조원 상납? 차라리 한국 기업에 돈 주는 게 발명도둑잡기(118.216) 09.16 50 0
2889681 깨달았다. 집에선 뭐가 안된다. 프갤러(110.8) 09.16 48 0
2889679 비갸 왔네... 대구 콘텐츠페어 가면 코그 면접가능? 넥도리아(223.38) 09.16 53 0
2889678 저번 달에 썼던 미국의 양당정치 스펙트럼 발명도둑잡기(118.216) 09.16 38 0
2889677  C#백엔드인데 [8] 프갤러(39.117) 09.16 124 0
2889675 솔루션 업체면 하는 일이 머임? 프갤러(140.248) 09.16 50 0
2889674 알 만한 사람은 다 아는 유명한 디스곡 발명도둑잡기(118.216) 09.16 50 0
2889672 맥주 660미리 먹었는데 봉지라면 vs 컵라면 뭐먹음?? 총각김치랑 먹음 [3] ㅇㅇ(223.39) 09.16 51 0
2889670 우리집에 피닉스가 왔다 발명도둑잡기(118.216) 09.16 44 0
2889668 이수현 중도보수 민주당 지지자 인터뷰 발명도둑잡기(118.216) 09.16 45 0
2889666 조규찬 7집 - 마지막 돈키호테 발명도둑잡기(118.216) 09.16 32 0
2889665 일하면서 ai 쓰지말라고 공지내려왔다.. [3] cvs.갤로그로 이동합니다. 09.16 102 0
2889664 오늘의 영상 기획 실마리: 지하철 안에서 잠 자는 뮤직비디오 발명도둑잡기(118.216) 09.16 45 0
2889662 20년 전, 미국의 쇠퇴를 예견한 에마뉘엘 토드, '서구의 패배'를 다시 발명도둑잡기(118.216) 09.16 57 0
2889661 맥주 한잔 하고 먹는 라면에 총각김치 왜이렇게 맛있냐?? ㅇㅇ(223.39) 09.16 34 0
2889658 이 사람 아이피 팔도중에 어디임 서울경기 강원 대구 전라도 경상도 중에 프갤러(115.139) 09.16 47 0
2889654 파이썬 잘 아는사람 있음 ㅇㅅㅇ?? 학기문제 알려줘 [4] ㅇㅇ(223.39) 09.16 80 0
2889653 포폴용 [7] ㅇㅇ(125.205) 09.16 80 0
2889650 컴퓨터 파워도 같이 보내면 어쩔까 삼성 파워, 메인보드 시디도 같이 넥도리아(119.195) 09.16 71 0
2889649 ‘케데헌’은 왜 한국이 아닌 미국에서 만들어졌을까 발명도둑잡기(118.216) 09.16 41 0
2889648 Best of Ki-jung | Parasite 발명도둑잡기(118.216) 09.16 35 0
2889647 ❤✨☀⭐⚡☘⛩나로님 퇴근합니당⛩☘⚡⭐☀✨❤ Naro갤로그로 이동합니다. 09.16 41 0
2889646 "처음부터 끝까지 그냥 쓰레기"... 자기 작품을 설명한 예술가의 본심 발명도둑잡기(118.216) 09.16 36 0
2889645 진지하게 주식을 못해서 평생 가난하게 살 확률이 존재하냐?? [2] ㅇㅇ(223.39) 09.16 75 0
뉴스 하지원, 47세 탄탄한 몸매와 동안 미모로 등장...“나이를 잊은 여전한 여신” 디시트렌드 09.20
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2