C언어로 자바의 Class를 만들 수 있을까요? 완벽한 Class를 만들 수는 없지만 비슷하게 만들 수 있습니다. 기능적으로는 Class와 동일한 역할을 할 수 있지만 동적으로 할당/해제에는 제한이 있습니다. C언어에서 typedef와 structure그리고 함수 포인터를 이용하면 class와 같은 기능을 할 수 있습니다. 왜 C언어로 Class를 만드는 다소 복잡하고 이해하기 쉽지 않은 구조를 만드냐고 물어보신다면, 우리가 앞으로 만들 디자인 패턴에서 반드시 사용되는 기법이기 때문입니다. 즉, 좀 더 효율적인 프로그램을 가능하게 합니다. 이번 예제는 다소 극단적인 C언어 Class입니다. 실제로 이렇게까지 사용하는 경우는 별로 없을 것 같습니다만 여러분들이 보시기에 알고 있거나 더 좋은 방법이 있다며 ..
과연 C로 Class를 만들 수 있을까요? 완벽한 Class를 만들 수는 없지만, 비슷하게 만들 수 있으며 Class와 동일한 역할을 하게 할 수 있습니다. C에서 typedef와 structure 그리고 함수 포인터를 이용하면 class를 따라서 만들 수 있습니다. 여기서 왜 C로 그런 뻘짓을 하냐고 물어보신다면, 이번 챕터에서는 딱히 할말이 생각나지 않습니다. 하지만 분명한 것은 그 뻘짓은 자바를 이해하는데 도움을 주기도 하고 좀 더 효율적은 C프로그램을 가능하게 합니다. 여기서의 예제는 극단적인 C Class입니다. 실제로 이렇게 사용한는 예는 정신이 나간 프로그래머 이외에는 없을 것입니다. 그냥 이렇게 있구나 정도만 이해했으면 좋겠습니다. 이미 알고 있거나 더 좋은 방법이 있다며 댓글을 남겨주세요..
자바의 Class는 마치 C의 typedef와 비슷해보입니다. 그러나 실제로 많은 차이가 있습니다. 자바 Class는 생산성과 효율성을 높이기 위해, 궁극적으로 객체지향을 목표로 만든것이 이므로 typedef보다 훨씬 사용하기 편하다. 자바에서는 궁극적으로 Class를 통해 instance를 만들어 냅니다.자바에서 다음 구문Class class = new Class(); 는 무엇을 의미할까요?이것은 class라는 이름의 메모리를 확보한 후 포인터를 넘겨준것과 같은 효과를 냅니다. new와 동시에 memory allocation이 발생한 것입니다. 메모리를 확보했으니 사용 후 반환을 해야 하는데, 자바는 가비지 콜렉션이 알아서 해줍니다. 로컬영역에서 빠져나오면 로컬변수가 없어지는 것 처럼.C는 다릅니다. ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.