728x90

반도체/C++ 40

19. C++의 객체지향 4가지

C++의 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 개발에서 객체를 중심으로 설계하는 프로그래밍 패러다임. C++는 OOP의 4가지 주요 개념인 캡슐화, 상속, 다형성, 추상화를 지원  1. 캡슐화 (Encapsulation)설명: 객체의 상태(데이터)와 동작(메서드)을 하나의 단위로 묶어 외부로부터 보호하는 것입니다. 이를 통해 데이터에 대한 직접적인 접근을 제한하고, 객체의 내부 구현을 숨길 수 있습니다.예제:class Account {private: double balance; // private 멤버 변수public: // 생성자 Account(double initialBalance) : balance(initialBalance)..

반도체/C++ 2024.07.31

18. C++의 형변환 (2) 안정성

C++에서 안정성 있는 형변환은 프로그램의 안전성을 보장하며, 런타임 오류를 방지하는 형변환 방법을 의미합니다. 안정성 있는 형변환은 주로 static_cast, dynamic_cast, const_cast, 그리고 reinterpret_cast 중에서 특정한 상황에서 적절히 사용  1. static_cast설명: static_cast는 컴파일 타임에 타입의 안전성을 검사하는 형변환 연산자입니다. 기본 데이터 타입 간의 변환, 클래스 계층에서의 업캐스팅 및 다운캐스팅에 사용됩니다. 다만, 다운캐스팅의 경우 안전성을 보장하지 않으므로, 반드시 타입 관계가 확실할 때 사용class Base {};class Derived : public Base {};Base* basePtr = new Derived();De..

반도체/C++ 2024.07.29

18. C++의 형변환 (1)

18. C++의 형변환 C++에서 형변환(타입 캐스팅)은 한 데이터 타입을 다른 데이터 타입으로 변환하는 과정     1. 암시적 형변환 (Implicit Conversion)암시적 형변환은 C++ 컴파일러가 자동으로 수행하는 형변환입니다. 예를 들어, 정수형 변수를 실수형 변수에 할당할 때 자동으로 변환  2. 명시적 형변환 (Explicit Conversion)명시적 형변환은 프로그래머가 의도적으로 형변환을 수행하는 방법입니다. C++에서는 여러 가지 방법으로 명시적 형변환을 수행 2.1. C 스타일 캐스팅가장 기본적인 형변환 방법으로, (타입)을 사용하여 변환double doubleValue = 5.5;int intValue = (int)doubleValue; // double -> int로 변환2..

반도체/C++ 2024.07.29

17. C++의 템플릿

C++의 템플릿은 코드의 재사용성을 높이고, 다양한 데이터 타입에 대해 일반화된 함수를 작성할 수 있도록 하는 강력한 기능입니다.  템플릿을 사용하면 특정 데이터 타입에 의존하지 않고, 여러 타입에 대해 동일한 로직을 적용  주로 함수 템플릿과 클래스 템플릿 두 가지 유형  1. 함수 템플릿 (Function Templates)함수 템플릿은 다양한 데이터 타입에 대해 동일한 함수를 작성할 수 있게 해줍니다. 함수 템플릿을 정의할 때는 template 키워드를 사용합니다. #include using namespace std;// 함수 템플릿 정의template T add(T a, T b) { return a + b;}int main() { cout 위 예제에서 add 함수는 T라는 템플릿 매개변..

반도체/C++ 2024.07.29

16. 두 수의 합을 반환하는 함수

예제: 두 수의 합을 반환하는 함수#include using namespace std;// 두 수의 합을 반환하는 함수int add(int a, int b) { return a + b; // a와 b의 합을 반환}int main() { int num1 = 5; int num2 = 10; // add 함수를 호출하고 반환된 값을 sum 변수에 저장 int sum = add(num1, num2); // 결과 출력 cout 코드 설명int add(int a, int b):add라는 이름의 함수를 정의합니다. 이 함수는 두 개의 정수 a와 b를 매개변수로 받아서 그 합을 반환합니다.return a + b;:함수가 a와 b의 합을 계산하고 그 결과를 반환합니다. 이 반환값은 ..

반도체/C++ 2024.07.26

15.값을 반환하는 함수 VS 값을 반환하지 않는 함수

예제 2: 값을 반환하지 않는 함수#include using namespace std;// 두 수의 합을 출력하는 함수 (값을 반환하지 않음)void printSum(int a, int b) { int sum = a + b; // a와 b의 합을 계산 cout 예제 1: 값을 반환하는 함수#include using namespace std;// 두 수의 합을 반환하는 함수int add(int a, int b) { return a + b; // a와 b의 합을 반환}int main() { int num1 = 5; int num2 = 10; // add 함수를 호출하고 반환된 값을 sum 변수에 저장 int sum = add(num1, num2); // 결과 출력 ..

반도체/C++ 2024.07.26

14. C++과 C언어의 차이 (2)

1. 함수 오버로딩 (Function Overloading)C 언어: 함수 이름은 고유해야 하며, 동일한 이름의 함수를 여러 개 정의할 수 없습니다.C++: 함수 오버로딩이 지원되어 동일한 이름의 함수를 매개변수의 타입이나 개수에 따라 여러 개 정의할 수 있습니다.2. 기본 인수 (Default Arguments)C 언어: 기본 인수를 지원하지 않으므로, 모든 인수를 명시적으로 제공해야 합니다.C++: 기본 인수를 정의할 수 있어, 호출 시 일부 인수를 생략할 수 있습니다.3. 함수 템플릿 (Function Templates)C 언어: 함수 템플릿을 지원하지 않습니다.C++: 템플릿 기능을 통해, 다양한 데이터 타입에 대해 동일한 기능을 제공하는 함수를 정의할 수 있습니다.4. 네임스페이스 (Namesp..

반도체/C++ 2024.07.26

13. C++의 기본인수

기본 인수(또는 기본 매개변수)는 함수 정의 시 매개변수에 기본값을 지정하는 기능입니다. 이를 통해 함수 호출 시 해당 매개변수를 생략할 수 있으며, 생략된 경우 기본값이 사용됩니다.기본 인수의 특징정의 시 기본값 설정: 함수 정의에서 매개변수에 기본값을 지정할 수 있습니다.호출 시 선택적 사용: 함수를 호출할 때 기본값이 지정된 매개변수를 생략하면, 자동으로 기본값이 사용됩니다.가독성 향상: 기본 인수를 사용함으로써, 호출할 때 매개변수를 줄일 수 있어 코드를 더 간결하게 만들 수 있습니다.#include using namespace std;// 기본 인수를 사용하는 함수void printSum(int a, int b = 10) { cout 예제 설명printSum(int a, int b = 10..

반도체/C++ 2024.07.26

12. C++과 C언어 차이 예제

#include // 두 수의 합을 계산하는 함수int add(int a, int b) { return a + b;}// 두 수의 합을 출력하는 함수void printSum(int a, int b) { printf("두 수의 합은 %d입니다.\n", add(a, b));}int main() { printSum(5, 10); // 출력: 두 수의 합은 15입니다. return 0;} c언어 #include using namespace std;// 두 수의 합을 계산하는 함수 (오버로딩)int add(int a, int b) { return a + b;}// 두 수의 합을 계산하는 함수 (매개변수의 타입이 다름)double add(double a, double b) { ret..

반도체/C++ 2024.07.26

11. C++ 함수 (2)

C++에서 함수는 특정 작업을 수행하는 코드 블록으로, 재사용 가능성을 높이고 프로그램을 구조화하는 데 중요한 역할을 합니다. 함수는 입력값(인수)을 받아 처리한 후, 결과값(반환값)을 돌려주기 가능' 함수의 구성 요소함수 선언 (Function Declaration):함수의 이름, 반환 타입, 매개변수 목록을 정의합니다.예: int add(int a, int b);함수 정의 (Function Definition):함수의 실제 동작을 구현하는 부분입니다.예:int add(int a, int b) { return a + b;}함수 호출 (Function Call):정의된 함수를 실행하는 방법입니다.예: int result = add(5, 3);    함수의 요소반환 타입 (Return Type): 함..

반도체/C++ 2024.07.25
728x90