코락 CoRock
코딩하는 락스타
코락 CoRock
  • 분류 전체보기 (394)
    • frameworks (19)
      • spring (19)
      • spring-boot (0)
      • testing (0)
    • languages (94)
      • java (39)
      • kotlin (0)
      • python (42)
      • r (13)
    • libraries (0)
    • programming (239)
      • android (13)
      • c (17)
      • cpp (22)
      • database (18)
      • design-pattern (4)
      • data-structures (11)
      • git (8)
      • hadoop (6)
      • html-css (7)
      • issue (4)
      • javascript (26)
      • jsp (34)
      • os (29)
      • php (6)
      • preferences (19)
      • etc (15)
    • discography (37)
      • k-pop (18)
      • pop (19)
    • blog (4)

블로그 메뉴

  • Programming
  • Java
  • JavaScript
  • Discography
  • K-Pop Songs
  • Pop Songs
  • Blog
  • Guestbook

공지사항

인기 글

태그

  • Android
  • 자바스크립트
  • jsp
  • 파이썬
  • javascript
  • python
  • Spring
  • CentOS
  • oracle
  • Java
  • linux
  • r

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
코락 CoRock

코딩하는 락스타

programming/cpp

[C++] Class : 절차지향을 넘어 객체지향으로!

2018. 3. 7. 09:34
반응형




여러 사람이 모여서 하나를 완성해야 하는 시대가 왔다.

대표적으로 모듈화


절차지향은 한 사람 기준이었지만, 객체지향은 여러 사람 기준


'사람이 정의한' 현실 세계에 존재하는 모든 것은 객체로 정의하자!


OOP에서 가장 중요한 것 : 확장성, 유지보수성




Class A {


member variable;    // == field


constructor function


+ in Cpp

복사 생성자 함수

소멸자

대입연산자 함수


member function;    // == method


};


# 생성자, 복사생성자, 소멸자, 대입 연산자는 디폴트로 설정되어있다


# 클래스 밖에 있는 함수를 외부 함수로 칭한다! main도 외부 함수다!


#CPP에서도 접근 지정자가 있다 (자바는 여기에 default를 추가해서 4개다)

캡슐화를 파괴하는 friend 라는 게 있다!


디폴트 생성자의 기능 : 객체 등록

copy constructor는 기능이 있다 : 복사하는 기능


★ 복사 생성자가 호출되는 경우



1. 객체 생성 시 매개변수로 객체를 넘겨줄 경우

2. 객체 생성 시 객체를 대입할 경우

※ 둘다 객체 생성할 때만

3. 멤버함수에 매개변수로 객체를 선언할 경우

4. 멤버함수에서 객체를 retrun할 경우



모양꼴

생성자에서 객체를 레퍼런스하게끔 되어 있음

A(const A& aa)

{

디폴트로 카피하는 기능이 쓰여있음

모든 필드값을 카피함

}


* 복사 생성자는 기법이 2가지 있다

1. 얕은 복사 (default가 얕은 복사로 제공된다)

2. 깊은 복사 (개발자가 꼭 명시적으로 코딩을 해야한다)

   -> 필드를 포인터로 사용했을 때는 무조건! 깊은 복사를 해야 한다! 그렇지 않으면 runtime error 발생


항상 궁극적인 목표는 '값의 카피'이다!


접근 범위를 생성한다



protected는 상속받은 자식 클래스에서만 접근할 수 있다(Java보다 범위가 넓다고 볼 수 있음)


생성자가 private로 해놓으면 static을 통해서 ??

java는 OS가 main으ㅜㄹ 불러준다 싱글통?

반응형
저작자표시 비영리 변경금지
    'programming/cpp' 카테고리의 다른 글
    • [C++] static, const
    • this
    • [C++] Overloading
    • 성적처리프로그램
    코락 CoRock
    코락 CoRock
    A COder dreaming of being a ROCKstar

    티스토리툴바