반도체/C++

25. C++에서 자주 사용하는 개념들

Clair_de_Lune 2024. 8. 14. 13:37
728x90

1. 함수 (Function)

정의: 특정 작업을 수행하는 코드 블록입니다. 입력값(매개변수)을 받아 처리하고 결과값(반환값)을 반환할 수 있습니다.

구성:

  • 반환 타입: 함수가 반환하는 데이터의 타입.
  • 함수 이름: 함수를 호출할 때 사용하는 이름.
  • 매개변수: 함수에 전달되는 입력값. 여러 개일 수 있으며, 타입과 이름으로 정의됩니다.
  • 함수 본체: 함수가 수행할 작업을 정의하는 코드 블록.

예제:

int add(int a, int b) {
    return a + b; // 두 수의 합을 반환
}

2. 변수 (Variable)

정의: 데이터를 저장하기 위한 메모리 공간의 이름입니다. 변수는 특정 타입을 가지며, 그 타입에 따라 저장할 수 있는 값의 종류가 결정됩니다.

구성:

  • 타입: 변수에 저장할 수 있는 데이터의 종류 (예: int, double, char, std::string 등).
  • 변수 이름: 변수를 식별하기 위한 이름.

예제:

int age = 30; // 정수형 변수 age 선언 및 초기화
double salary = 50000.50; // 실수형 변수 salary 선언 및 초기화

3. 매개변수 (Parameter)

정의: 함수에 전달되는 입력값으로, 함수의 작업에 필요한 데이터를 제공합니다. 매개변수는 함수 선언 및 정의에서 지정됩니다.

구성:

  • 타입: 매개변수의 데이터 타입.
  • 이름: 매개변수를 참조하기 위한 식별자.

예제:

void printAge(int age) { // age는 매개변수
    std::cout << "Age: " << age << std::endl;
}

4. 클래스 (Class)

정의: 객체 지향 프로그래밍에서 객체의 설계도를 정의하는 사용자 정의 데이터 타입입니다. 클래스는 데이터(멤버 변수)와 그 데이터를 처리하는 함수(멤버 함수)를 포함합니다.

구성:

  • 멤버 변수: 클래스의 속성을 정의하는 변수.
  • 멤버 함수: 클래스의 동작을 정의하는 함수.

예제:

class Person {
private:
    std::string name; // 멤버 변수
    int age;          // 멤버 변수

public:
    void setName(std::string n) { name = n; } // 멤버 함수
    void setAge(int a) { age = a; }            // 멤버 함수
};

5. 객체 (Object)

정의: 클래스의 인스턴스입니다. 객체는 클래스에서 정의한 멤버 변수와 멤버 함수를 가집니다.

예제:

Person person; // Person 클래스의 객체 생성
person.setName("Alice"); // 객체의 멤버 함수 호출
person.setAge(30);       // 객체의 멤버 함수 호출

6. 상속 (Inheritance)

정의: 새로운 클래스가 기존 클래스를 기반으로 하여 속성과 기능을 물려받는 개념입니다. 이를 통해 코드 재사용이 가능해집니다.

예제:

class Student : public Person { // Person 클래스를 상속받는 Student 클래스
private:
    int studentID; // 추가적인 멤버 변수

public:
    void setStudentID(int id) { studentID = id; } // 새로운 멤버 함수
};

7. 다형성 (Polymorphism)

정의: 동일한 이름의 메서드가 서로 다른 동작을 수행하는 성질입니다. 주로 함수 오버로딩과 가상 함수(virtual function)로 구현됩니다.

예제:

class Shape {
public:
    virtual void draw() { // 가상 함수
        std::cout << "Drawing a shape." << std::endl;
    }
};

class Circle : public Shape {
public:
    void draw() override { // 오버라이드
        std::cout << "Drawing a circle." << std::endl;
    }
};

요약

  • 함수: 특정 작업을 수행하는 코드 블록.
  • 변수: 데이터를 저장하기 위한 메모리 공간.
  • 매개변수: 함수에 전달되는 입력값.
  • 클래스: 객체의 설계도를 정의하는 사용자 정의 데이터 타입.
  • 객체: 클래스의 인스턴스.
  • 상속: 기존 클래스의 속성과 기능을 물려받는 개념.
  • 다형성: 동일한 메서드 이름이 서로 다른 동작을 수행하는 성질.
728x90

'반도체 > C++' 카테고리의 다른 글

27. C++열거형  (1) 2024.08.20
26. 연산자,조건문,반복문  (1) 2024.08.14
24. C++에서 GET과 SET 메서드  (1) 2024.08.14
23. 반환값  (1) 2024.08.14
22. C++에서 변수  (1) 2024.08.14