[C++ 4-1.객체 지향 프로그래밍 ]

·2022년 7월 20일
0

C++_Study

목록 보기
7/25

#220720-220721

#4-1. c와 c++ 구조 차이

변수/배열/구조체
⭐️ c(변수의 모임) -> c++클래스 (변수 + 함수의 모임) ⭐️

// c구조체 (변수의 모임) -> c++ 클래스(변수+ 함수의 모임) 
// 접근제어 속성을 생략하면 struct은 public, class는 private이 기본! 

class Man{
private:                //기본 접근 속성 
    int age;            //멤버 변수
public:
 	int getAge() {return age;}       //멤버 함수
    void setAge(int age) {age=a;}
};

Man han; // C++
  • 구조체 변수가 멤버에 접근하는 예
    1). 일반 변수 선언
    struct Man minsu;
    2). 포인터 변수 선언
    struct Man *minjung;
    minjung -> age = 7; 포인터 변수는 멤버를 "->"로 접근
    3). "." 연산자와 "->" 연산자는 모든 연산자 중 (), []와 함께 우선순위가 가장 높은 연산자
class Man{
    public:         // class는 기본이 private 라서

    char name[10];
    int age;
    double weight;
};

int main(void)
{
    Man gildong;
    Man sunhee;
    Man comso[160];

    gildong.age=20;
    sunhee.weight=52.5;
    comso[0].age=25;
    
    std::cout << gildong.age << sunhee.weight << comso[0].age << std::endl;
    return 0;
}

#4-2. 구조체의 장점

#4-3. 객체지향프로그래밍의 등장 배경

#4-4. 객체지향 언어의 특징(OOP)

Encapsulation (캡슐화/ 외부에서 접근 하지 못하도록 막는 것), inheritance(상속), polymorphism(다형성)

#4-5. 객체지향(c++) vs 구조적 프로그래밍(c)

★ 객체지향: 재사용을 잘 해야한다!
c++ => [inline, 클래스의 생성자(constructor), 소멸자(destructor), 함수 중첩, 디폴트 인자, 클래스 상속, 가상함수 등]

profile
Hakuna Matata

0개의 댓글

관련 채용 정보