코락 CoRock
코딩하는 락스타
코락 CoRock
  • 분류 전체보기 (393)
    • 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 (3)

블로그 메뉴

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

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

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

코딩하는 락스타

[C++] Welcome to C++ Programming
programming/cpp

[C++] Welcome to C++ Programming

2018. 3. 5. 13:15
반응형

What is C++?

 : C++ // C = C + 객체지향(Object-Oriented Programming, OOP);


 C++는 C 언어를 개발한 AT&T Bell 연구소의 Bjarne Stroustrup에 의해서 개발되었다. C++은 C 언어가 갖는 간결성과 속도를 그대로 지니면서 OOP을 지원하는 언어로 만들어졌다.

그래서 C++


 객체 지향 언어의 프로그래밍 방법은 인간의 사고 방법에 바탕을 둔 클래스, 상속, 다형성 등과 같은 요소를 충분히 활용해야 한다.


c -> c++(절차지향과 객체지향의 중간언어) -> MS(API -> MFC -> C#

                                                        -> Java(complete OOP)


Java - web

      ㄴ mobile(Android)


i - Phone - Object C



What is an Object?C++ == C + 1(OOP)

 :인간이 다른 것과 구분해서 인식할 수 있는 '어떤 대상'

 :현실 세계의 entity를 컴퓨터 세계에 표현한 것


  소프트웨어에서의 객체는 그 내부에 속성(attribute)을 갖고 외부로부터 메세지를 받아 처리한다.


1. 추상화(Abstraction)

'이걸 만드려면 어떻게 만들어야 하지? 어떻게 표현해야 하지?'

의 고민을 구체화시키는 행위를 추상화라고 한다.


한국 사람들은 특히 주입식 교육을 많이 받는다

반면 외국 사람들은 개인적인 성향이 많다 -> 창의적인 사고가 많이 만들어짐


2. 캡슐화(Encapsulation)

C언어 같은 절차지향언어는 데이터가 너무 open되어있다

ex. 반장 1000원을 맡겨놨는데 누군가가 가져가면 출처를 알 수가 없다


캡슐화라는 건 자기가 권한을 설정할 수 있다

그 권한은 개발자가 준다


데이터는 항상 명확하게 루트를 하게끔 하는 게 좋다


3. 상속(Inheritance)

물려받는 것(내 것이 아닌데 물려받는 것)

ㆍ확장성과 재사용성이 좋아야 한다

무조건 물려받는다고 쓰는 게 상속이 아님


4. 다형성(Polymorphism)

여러 가지 형태를 제공함으로써 편의를 제공하는 것

오버로딩, 동적 바인딩, 제네릭 …



<칠판 필기> 요약

1. 추상화 : 추상적 -> 구체화

2. 캡슐화 : Data 보호, 은닉

3. 상속 : 코드의 재활용, 확장성

4. 다형성 : 편의성 제공


이걸 어떻게 C++로 표현할 지가 관건 !

cf. c++은 100% 상속 구조는 아니다!


<DataType>

C++은 완전한 OOP가 아니라서 bool이 0 1 같은 것이 된다

반응형
저작자표시 비영리 변경금지 (새창열림)
    'programming/cpp' 카테고리의 다른 글
    • 성적처리프로그램
    • [C++] setw()
    • [C++] Pointer
    • [C++] Array
    코락 CoRock
    코락 CoRock
    A COder dreaming of being a ROCKstar

    티스토리툴바