1. Visual Studio Code에서 자동으로 만들어주는 C++ 기본 소스
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
}
2. C언어와 C++의 가장 큰 차이점
- C구조체(변수의 모임), C++클래스(변수+함수의 모임)
3. C언어에서는 struct를 쓰지 않아도 괜찮지만,c
4. 앞에 일반 변수가 있으면 . 으로 접근 가능하고, 앞에 포인터 변수가 있다면 →로 접근한다.
5. 구조체 변수를 초기화하는 방법
Man han = { 1,3.5 };
std::cout << han.age << " " << han.weight << std::endl;
6.
#include <iostream>
struct Man {
int age; //멤버
double weight;
};
int main()
{
Man han = { 1,3.5 };
Man han1;
std::cout << han.age << " " << han.weight << std::endl;
han1 = han;
std::cout << han1.age << " " << han1.weight << std::endl;
han.age = 10;
han.weight = 30.5;
std::cout << han.age << " " << han.weight << std::endl;
std::cout << han1.age << " " << han1.weight << std::endl;
}
7. 구조적 프로그래밍 스타일 (C언어)
- structured programming
- 계산기 프로그램
- 기능에 따라 세분
- 입력기능
- 계산기능
- 출력기능
- Divide and Conquer
- 나누어 정복
- 각각의 기능(모듈)을 함수로 구현
8.
9. 객체지향이라는 것은 자료와 처리동작들을 묶음으로 관리하는 것이다.
10. 클래스와 객체의 다른 점
- "클래스"는 추상적인 개념으로서 특정 종류(혹은 유형)의 모든 가능한 속성과 동작을 나타내며, "객체"는 그 추상적인 개념에 대응하는 구체적인 실체화이다.
11. 클래스로부터 객체를 만들고, 그 만들어진 객체를 인스턴스라고 한다. (p.36)
12. 자동차 클래스의 객체는 소나타 같은 구체적인 것으로 정해야 한다. (p.37)
13. 클래스를 만드는 것 자체를 캡슐화 라고 한다.
14. 캡슐화는 클래스 안에서만 데이터를 수정하거나 처리한다.
15. 많이 사용하는 객체지향 언어의 상속 문법을 예를 들어 간단히 설명
- C++:
C++에서도 extends 대신에 : 연산자를 사용하여 상속 관계를 표현합니다. 아래는 부모 클래스인 Animal을 상속받는 자식 클래스인 Dog의 예시입니다:
class Animal {
// 부모 클래스의 멤버 변수와 메서드 정의
// ...
};
class Dog : public Animal {
// 자식 클래스에 추가적인 멤버 변수와 메서드 정의
// ...
};
16. 객체지향 언어에서 다형성(Polymorphism)은 같은 이름의 메서드나 연산자가 다른 형태로 동작할 수 있는 능력을 의미합니다. 이는 상속과 관련된 개념으로, 부모 클래스와 자식 클래스 간의 관계에서 발생하는 특징입니다.
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound(); // "개가 짖고 있습니다." 출력
animal2.makeSound(); // "고양이가 울고 있습니다." 출력
}
}
17. 약식 클래스 다이어그램 그리기
18.
- public: (내용)
- 어디서나 접근 가능하다.
class Dog{ // class명
private: // 속성
int age; // 멤버변수
public:
int getAge(); // 멤버함수
};
Dog dog1; // 객체
19. 클래스 멤버의 접근 권한
#include <iostream>
class Man {
//public: 다음에 나오는 변수나 함수는 어디서나 접근 가능
private: //외부에서 접근 불가. 클래스 내에서만 접근 가능(사용, 입출력)
int age; //멤버
double weight;
public:
int getAge() { //출력, 리턴함수
return age;
}
void setAge(int a) { //입력, 대입함수
age = a;
}
void run() {
std::cout << "달려!\n";
}
};
int main()
{
Man han ;
han.setAge(10);
han.run();
std::cout << han.getAge();
han.run();
// std::cout << han.age << " " << han.weight << std::endl;
}
참고자료 : 한성현 교수님 수업자료
'C++ 프로그래밍 (1학년 2학기)' 카테고리의 다른 글
231102 C++프로그래밍 9주차 (0) | 2023.11.02 |
---|---|
231019 C++ 프로그래밍 7주차 (1) | 2023.10.19 |
231005 C++ 프로그래밍 4주차 (0) | 2023.10.05 |
230921 C++ 프로그래밍 3주차 (0) | 2023.09.21 |
230914 C++ 프로그래밍 2주차 (0) | 2023.09.14 |