본문 바로가기
반응형

c++15

[C++]1. 클래스와 객체 : 4. 클래스 정의와 구현 분리(클래스 정의와 구현, private, ifndef, define, endif) 1.4. 클래스 정의와 구현 분리 (1) 클래스 정의(definition) 와 구현(implementation) 클래스의 정의(definition) 클래스의 규약 사항을 기술하는 것. 클래스 안에 어떤 데이터와 함수가 있는지를 컴파일러에 알려 주는 것. 확장자 .h (헤더파일) 클래스의 구현(implementation) 규약을 실현하는 것. 어떻게 함수가 동작하는지를 컴파일러에 알려주는 것. 확장자 .cpp 헤더파일의 예시) //헤더파일의 예시 class Circle{ public: // 원의 반지름 double radius; //기본 객체 생성 Circle(); //circle 객체 생성 Circle(double); //원의 면적 반환 double getArea(); }; 헤더파일의 구현 예시) #in.. 2024. 4. 14.
[C++] 1. 객체와 클래스 : 2. 생성자(Constructor) 1.2. 생성자(Constructor) - 생성자는 함수의 트별한 유형이며 다음과 같은 특성이 있다. 생성자는 클래스 자신과 같은 이름을 가져야한다. 생성자는 반환 유형이 없다. (void 또한 사용할 수 없다) 생성자는 객체가 생성될 때 호출된다. 생성자는 객체의 초기화 역할을 한다. (1) 생성자의 오버로딩 참고) 오버로딩이란? 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 일반 함수와 마찬가지로 생성자에도 오버로딩 적용 가능 예시코드1) #include using namespace std; class Circle{ private : double radius; public : Circle(){ radius = 1; } Circle(double newRadius){ radius = newR.. 2024. 4. 12.
[C++] 1. 클래스와 객체 : 1. 객체를 위한 클래스 정의(객체지향 프로그래밍, 객체, 클래스, 생성자, UML 다이어그램) 1.1. 객체를 위한 클래스 정의 (1) 객체지향 프로그래밍(Object-Oriented Programming, OOP) 우리가 주변의 실세계에서 사물을 인지하는 방식을 프로그래밍에 접목하려는 사상을 의미한다. 유연하고 유지보수하기 쉬우며 확장성 측면에서서도 유리한 프로그래밍을 하도록 의도 규모가 큰 소프트웨어 시스템을 효과적으로 개발 가능 (2) 객체의 상태(state, 속성(property, attribute)) : 현재 값을 가지고 있는 데이터필드 ex) 객체 : 원(circle) | 속성 : 반지름(radius) 객체 : 직사각형(rectangle) | 속성 : 가로, 세로 (3) 객체의 행동(behavior(동작(action)) : 함수 - 객체에 대한 함수를 호출하는 것은 객체에 어떤 동작을 .. 2024. 4. 12.
반응형