Menu
Coddy logo textTech

C++ OOP 입문

Coddy C++ 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 104개 중 5번째.

객체 지향 프로그래밍은 데이터와 동작을 함께 묶는 클래스로 코드를 구성합니다.

public 멤버를 가진 간단한 클래스

class Dog {
public:
    std::string name;
    int age;
    
    std::string bark() {
        return name + " says Woof!";
    }
};

객체 생성 및 사용

Dog dog;
dog.name = "Buddy";
dog.age = 3;

std::cout << dog.bark() << std::endl;

출력:

Buddy says Woof!

클래스는 구조를 정의합니다 — 어떤 데이터를 보유하고 어떤 동작을 수행할 수 있는지를 정의합니다. 객체는 여러분이 생성하고 사용하는 구체적인 인스턴스입니다. public: 아래의 멤버는 어디서나 접근할 수 있습니다.

challenge icon

챌린지

쉬움

공개 멤버와 메서드를 가진 Dog 클래스를 생성하세요:

  • 공개 멤버: name (string) 및 age (int)
  • bark()"<name> says Woof!"를 반환합니다.
  • info()"<name> is <age> years old"를 반환합니다.

치트 시트

객체 지향 프로그래밍은 데이터와 동작을 하나로 묶는 클래스로 코드를 구성합니다.

클래스는 구조를 정의합니다. 즉, 어떤 데이터를 보유하고 어떤 동작을 수행할 수 있는지를 정의합니다. 객체는 여러분이 생성하고 사용하는 구체적인 인스턴스입니다.

public 멤버를 가진 클래스 정의하기:

class Dog {
public:
    std::string name;
    int age;
    
    std::string bark() {
        return name + " says Woof!";
    }
};

객체 생성 및 사용하기:

Dog dog;
dog.name = "Buddy";
dog.age = 3;

std::cout << dog.bark() << std::endl;
// 출력: Buddy says Woof!

public: 아래의 멤버는 어디서나 접근할 수 있습니다.

직접 해보기

#include <iostream>
#include "Dog.h"

int main() {
    std::string name;
    int age;
    std::getline(std::cin, name);
    std::cin >> age;
    
    Dog dog;
    dog.name = name;
    dog.age = age;
    
    std::cout << dog.bark() << std::endl;
    std::cout << dog.info() << std::endl;
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

객체 지향 프로그래밍의 모든 레슨