모든 언어를 학습할때 제일 처음 작성하는 code가 있다.
Hello World! 코드이다. 프린트만 하는 코드이다. 그 이후에 자료형, 구조체 등등을 학습한다.
이번에 수강한 Data Structure in C는 C언어 수업이 아니였으므로, 기초적인 과정은 다루지 않았다. 그래도 1주차에 C언어를 약간은 다뤄줘서 오랜만에 공부하는 나에게 복습이 되었다.
1. Header file - Interface file: myCode.h
Front-end: What the code can do.
(myCode.c 에서 구현한 함수, 사용자 정의 데이터 타입(구조체) 등을 정의할 수 있다.)
2. Impementation file: myCode.c
Back-end: How the code does it
(실제 기능을 정의한다.)
3. Program file: main.c
(실행 프로그램)
이렇게 프로그램하면 Reusablity, Encapsulation, Abstraction이 가능하다. 객체지향의 특성 같다고 생각하는 사람이 많을 것이다. 하지만, Reusabiltity, Encapsulation, Abstraction은 어떤 프로그램을 하던 중요한 가치이다. C언어에서 한계를 극복하기 위해 객체지향 언어가 나온거지, C언어에서 없는 개념은 아니다.
나도 기술사 공부할때, 위 3가지 개념을 객체지향의 특성으로 외웠웠다. 그 당시 공부하면서 객체지향에서의 Reusablity, Encapsulation, Abstraction과 infomation Hiding을 잘 설명한 blog가 있어 링크한다.
객체지향의 올바른 이해 : 5. 정보 은닉(information hiding)
우리가 어떻게 해서 유연성을 확보할 수 있었는가?그것은 추상화(Abstraction)에서부터 시작되었다. 추상화를 통해 우리는 여러 요구사항들 중에서 공통점을 찾고, 이 공통점에서 목표한 것과 관련
effectiveprogramming.tistory.com
http://egloos.zum.com/aeternum/v/1232020
Information Hiding
소프트웨어 설계 시에 고려해야 할 기본 원리 중 가장 중요한 원리가 무엇이냐고 물어 본다면 주저 없이 ‘정보 은닉(Information Hiding)’이라고 대답할 것이다. 정보 은닉(또는 정보 은폐라고도
egloos.zum.com
그러면 C에서는 어떻게 Reusablity, Encapsulation, Abstraction과 infomation Hiding을 구현하는지 다음 글에서 정리하겠다.
'IT > DataStructure' 카테고리의 다른 글
C파일, header 파일, main.c 파일 - (2) (0) | 2022.12.29 |
---|---|
왜 C인가? (0) | 2022.12.29 |
Putty vs Xshell (0) | 2022.12.29 |