본문 바로가기

C로 객체지향 흉내내기2 거의 "Object Oriented Programming in ANSI C"내용을 번역하는 수준이군요. 사실 중간에 내용은 임의대로 제 마음대로 이해한 내용으로 채워넣은 경우도 있으니, 혹시 의문이 들거나 이게 아니다 싶으면 원문을 참고하세요. 이번에는 동적 링크와 제너릭 함수입니다. 동적 링크는 정적링크와는 다르게 실행시점에 실행되는 코드가 결정된다. 제너릭 함수란 어떤 타입이는 모두 실행할 수 있는 함수이다. 먼처 C++과 비슷하게 생성자와 소멸자를 보고 메소드와 메시지 클래스 등에 대해서 다뤄보겠다. 작성일: 2009.07.26 (http://ospace.tistory.com/), ospace114@empal.com 생성자와 소멸자 C++을 해봤으면 생성자와 소멸자는 잘 알 것이다. 잘 모르게 구글.. 더보기
C로 객체지향 흉내내기1 아휴~ 일을 또 하나 만들어버렸다. 아직도 작성중인 자료가 많은데, 또 다른 작성중 문서를 만들어 버렸다. 언제 끝날지 모르겠다. 내용도 쉽지 않고, 이해하기도 어려워서 틀리거나, 이건 아니다 싶은 것도 많을 것 같다. "Object Oriented Programming in Ansi C"(이하 OOPC)라는 글을 참조 했다. 내가 찾아본 내용 중에 내가 의도했던 것과 가장 비슷한 내용이었다. 다음 내용은 상당 부분 앞의 글을 많이 번역했다. 사실 C로 완벽한 C++과 같은 구현한 한 코드들도 있다. 해당 글을 읽다 보면, 사용하기 복잡하며, 실행속도도 C++에 비해 그다지 큰 향상이 없다고 한다. 오히려 떨어진다고 한다. 이부분은 내가 검증해보지 못해서 장담하지 못하지만.. 이 내용은 하나의 컨샙으로 .. 더보기
OOD(객체지향 개발)의 원칙 나쁜 설계의 냄새 경직성 : 뭔가 하나를 바꾸려할때 반드시 다른것도 바꿔야한다. 부서지기 쉬움 : 한부분을 바꾸면 전혀 상관없는 다른부분이 동작을 멈춘다. 부동성 : 시스템을 여러 컴포넌트로 분해해서 다른 시스템에 재사용하기 힘들다. 끈끈함 : 편집 - 컴파일 - 테스트 순환을 한번 도는 시간이 엄청나게 길다. 쓸데없이 복잡함 : 언젠가는 굉장히 유용할지도 모른다고 생각하고 괜히 머리 굴려서 짠코드가 많다. 필요 없는 반복 : 코드를 작성한 프로그래머 이름이 마치 '복사'와 '붙여넣기'같다. 불투명함 : 코드를 만든 의도에 대한 설명을 볼 때 그 설명에 '표현이 꼬인다.'라는 말이 잘 어울린다. 1. The Single Responsibility Principl.. 더보기

반응형