캡슐화
C언어로 객체지향 주 4개의 요소 (추상화,다형성,상속,캡슐화) 구현하기
추상화 (클래스) 비슷하게 생긴 Cpp과 C를 비교해보자. Cpp는 class를 이용해서 class에서 사용할 상태와 메서드들을 선언할 수 있다. 반면 C의 struct에서는 오직 상태만을 저장할 수 있다. 일반적으로 C에서 struct에 관한 함수들을 작성한다면, 이름으로 특정 구조체와 관련된 함수임을 나타낸다. 예를 들어 x, y, width, height를 변수로 가지는 Rect라는 구조체가 있다면, 아래와 같이 파일을 작성하는 것이 일반적이다. /* rect.h */ struct Rect { unsigned int x; unsigned int y; unsigned int width; unsigned int height; }; void rect_move(struct Rect *rect, unsign..
OOP
OOP란?? (Object Oriented Programming) C++는 객체지향 언어이고 해당 언어를 OOP라고 부르며 Object Oriented Programming의 약자다. 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. Class (클래스) / Object (객체) Abstraction (추상화) Encapsulation (캡슐화) Inheritance (상속성) Polymorphism (다형성) 장점 코드 재사용이 용이 (남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용할 수 있다.) 유지보수가 쉬움 (절차 지향 프로그래밍에서..