C++ OOP 입문
Coddy C++ 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 104개 중 5번째.
객체 지향 프로그래밍은 데이터와 동작을 함께 묶는 클래스로 코드를 구성합니다.
공개 멤버가 있는 간단한 클래스
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: 아래에 있는 멤버는 어디서나 접근할 수 있습니다.
프로젝트에서는 보통 클래스가 메서드만 선언하는 헤더 파일(Dog.h)에 들어가고, 메서드 본문은 .cpp 파일에 들어갑니다. 이 파일에서는 각 메서드 이름 앞에 클래스 이름과 ::(범위 지정 연산자)를 씁니다.
// Dog.h
#include <string>
class Dog {
public:
std::string name;
std::string bark(); // 선언만 있음
};
// Dog.cpp
#include "Dog.h"
std::string Dog::bark() {
return name + " says Woof!";
}챌린지
쉬움공개 멤버와 메서드를 갖는 Dog 클래스를 만드세요:
- 공개 멤버:
name(string) 및age(int) bark():"<name> says Woof!"를 반환합니다info():"<name> is <age> years old"를 반환합니다
직접 해보기
#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;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
객체 지향 프로그래밍의 모든 레슨
직접 연습해 보세요: 온라인 C++ 컴파일러