C, C++/C++
class (3) - 생성자, 파괴자
class (3) - 생성자, 파괴자
2024.09.25C++ OOP의 목적은, class 를 int, char 처럼 사용하게 만드는 것이다. int a = 1; 과 같은 기본 자료형 사용 방법을 살펴보면, int a; 선언과, a = 1; 정의(초기화, 값 할당)가 있다. 그리고 변수명을 사용한다. C++ OOP의 목적은, class 를 int, char 처럼 사용하게 만드는 것이다. 클래스 자료형도 동일한 개념을 가진다.클래스는 대입 연산자 대신, 생성자와 같은 클래스 맴버 함수로 "클래스 맴버 변수"를 초기화한다.생성자와 파괴자의 이해는, 단순히 초기화 역할의 이해지만,"동적 할당"과 "메모리 해제" 그리고 "깊은 복사", "얇은 복사"를 이해하려면, 생성자와 파괴자의 호출 시점을 명확하게 머리속에 그릴 수 있어야 한다. class(1)에서 선언에..
class (2) - this 포인터
class (2) - this 포인터
2024.09.24this 는 클래스 포인터다. #include using namespace std;class MyClass{public: void printThis() { std::cout #include using namespace std;class MyClass{public: void printThis(MyClass *ptr) { std::cout
Class (1) - 클래스, 캡슐화
Class (1) - 클래스, 캡슐화
2024.09.24클래스를 바라보는 관점프로그램은, Data 와 Logic 으로 이루어진다.프로그래밍에서 Data 는 기본 자료형, 복합 자료형, 구조체(사용자 정의 자료형), 클래스(구조체+함수) 로 사용한다. 프로그래밍에서 Data 는 자료형과 초기화 그리고 변수명으로 사용이 모두 동일하다.클래스도 마찬가지다.클래스라는 자료형을 선언하고, 변수명으로 사용하고, 초기화하는 관점으로 접근해야 한다.C++ OOP의 목적은, class 를 int, char 처럼 사용하게 만드는 것이다. (참고) 편의상, 구조체에 함수를 포함하면 클래스라고 단순히 설명한다. 하지만, C언어의 구조체와 C++의 구조체는 다르다.그리고 C++의 구조체와 C++의 클래스는 한가지 차이점이 있다.기본 자료형과 살펴보자.int a; 선언과, a = ..