hugDog
Android DevLog
hugDog
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ™Œ Hello? (162)
    • ๐Ÿงฉ์•ˆ๋“œ๋กœ์ด๋“œ (12)
      • ๊ฐœ๋… ์ •๋ฆฌ (5)
      • ๋ฒ„๊ทธ ํ•ด๊ฒฐ (4)
      • ๊ธฐํƒ€ (3)
    • ๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜ (54)
      • ๊ฐœ๋… (0)
      • ๋ฐฑ์ค€ (48)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (6)
    • ๐Ÿ“„๊ฐœ๋ฐœ ์ผ์ง€ (0)
      • FINPO (0)
    • ๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (71)
      • C++ ์ •๋ฆฌ (49)
      • C++๊ธฐ์ดˆํ”Œ๋Ÿฌ์Šค ์—ฐ์Šต๋ฌธ์ œ (20)
      • Kotlin (2)
    • โญProject (1)
    • ๐ŸšดTIL (13)
      • Clean Code (13)
    • ๐Ÿšฉ๊ธฐํƒ€ (9)
      • ๋ชฉํ‘œ (6)
      • ์ผ์ƒ (3)
      • ๋ฌธ์„œ (0)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
hugDog
๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์ •๋ฆฌ

C++ ์ •๋ฆฌ -1 (C++์˜ ํŠน์ง•)

๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์ •๋ฆฌ

C++ ์ •๋ฆฌ -1 (C++์˜ ํŠน์ง•)

2019. 6. 9. 19:43
728x90

c++์€ ์„ธ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์ด ํ•˜๋‚˜๋กœ ๊ฒฐํ•ฉ๋จ.

1. c์˜ ์ ˆ์ฐจ์  ์–ธ์–ด (procedural language)

2. c++์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด (object-oriented languange) // c++์„ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋œ ์ด์œ 

3. c++์˜ ํ…œํ”Œ๋ฆฟ์ด ์ง€์›ํ•˜๋Š” ์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹

 

c์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฒ ํ•™

c++์€ c์— ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฒ ํ•™์„ ์ ‘๋ชฉ์‹œ์ผฐ๊ธฐ ๋•Œ๋ฌธ์— ์•Œ์•„๋‘๋ฉด ์ข‹๋‹ค.

c๋Š” ์ ˆ์ฐจ์  ์–ธ์–ด์ธ๋ฐ ์ ˆ์ฐจ์  ์–ธ์–ด๋ž€ ์ปดํ“จํ„ฐ๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋™์ž‘๋“ค์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜๊ณ , ๊ทธ ๊ตฌ๋ถ„๋œ ๋™์ž‘๋“ค์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ.

์ ˆ์ฐจ์  : ๋ฐ์ดํ„ฐ(ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์ •๋ณด) < ์•Œ๊ณ ๋ฆฌ์ฆ˜ (ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•)

 

๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ (structured programming)

์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ถ„๊ธฐ๋ฌธ๋“ค์ด ํ”„๋กœ๊ทธ๋žจ์˜ ์œค๊ณฝ์„ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์šด "์ŠคํŒŒ๊ฒŒํ‹ฐ ํ”„๋กœ๊ทธ๋žจ" ์ด ๋‚˜ํƒ€๋‚จ.

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ๊ฒƒ์ด ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ด๋‹ค.

 

ํ•˜ํ–ฅ์‹ (top-down) : ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋žจ์ด ๊ณ ์ˆ˜ํ•˜๋Š” ๋ฐฉ์‹

C์–ธ์–ด์—์„œ, ๊ทœ๋ชจ๊ฐ€ ํฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘๊ณ  ๋‹ค๋ฃจ๊ธฐ ์‰ฌ์šด ๋‹จ์œ„์ž‘์—…์œผ๋กœ ์ชผ๊ฐœ๋Š” ๊ฒƒ. ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ณ„์ ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜ ๋‹จ์œ„๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœ.

 

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (๋ฐ์ดํ„ฐ > ์•Œ๊ณ ๋ฆฌ์ฆ˜)

๊ทœ๋ชจ๊ฐ€ ํฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ํ•ด๊ฒฐ์ด ์•ˆ ๋˜์ž ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋จ.

ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ฌธ์ œ์˜ ํŠน์„ฑ์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐํ˜• ์ž์ฒด๋ฅผ ์„ค๊ณ„ํ•จ. (c++์—์„œ๋Š” ํด๋ž˜์Šค(class)๊ฐ€ ์ด์™€ ๊ฐ™์€ ๋ชฉ์ ์˜ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐํ˜•์ž„.)

 

๊ฐ์ฒด(object)

ํด๋ž˜์Šค์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง€๋Š” ํŠน์ •ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

ex) ์ž„์›์˜ ์ผ๋ฐ˜์  ํŠน์„ฑ  -> ํด๋ž˜์Šค

     ์ด๋ฆ„, ์งํ•จ, ๊ธ‰์—ฌ, ๋Šฅ๋ ฅ

 

    ํ•œ ๋ช…์˜ ํŠน์ • ์ž„์›   -> ๊ฐ์ฒด

    ํ™๊ธธ๋™, ๋ถ€์‚ฌ์žฅ, ์—ฐ๋ด‰ 1์–ต...

 

ํด๋ž˜์Šค

๊ฐ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„, ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ž‘ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ

ex) ์‚ฌ๊ฐํ˜•์„ ๊ทธ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ -> ํด๋ž˜์Šค ์„ ์–ธ ํ•„์š”

     ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„ : ์‚ฌ๊ฐํ˜• ์œ„์น˜, ๊ฐ€๋กœ ์„ธ๋กœ ๊ธธ์ด, ํ…Œ๋‘๋ฆฌ ์ƒ‰์ƒ, ํ˜•ํƒœ

     ๋™์ž‘ ๋ถ€๋ถ„ : ์‚ฌ๊ฐํ˜• ์œ„์น˜ ์ด๋™, ์˜ฎ๊ธฐ๊ธฐ, ๋ณต์‚ฌ, ํฌ๊ธฐ ๋ณ€๊ฒฝ

     ์‚ฌ๊ฐํ˜• ํด๋ž˜์Šค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด ์‚ฌ๊ฐํ˜• ๊ทธ๋ฆฌ๊ธฐ ๊ฐ€๋Šฅ.

 

์ƒํ–ฅ์‹(bottom-up) ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ์ €์ˆ˜์ค€์˜ ํด๋ž˜์Šค๋ฅผ ๋จผ์ € ์„ค๊ณ„ํ•œ ํ›„ ๊ณ ์ˆ˜์ค€์˜ ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„๋กœ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹

 

opp(๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ) ์žฅ์ 

1. ๋ฐ์ดํ„ฐ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ํด๋ž˜์Šค ์ •์˜ ์•ˆ์— ํ•จ๊ป˜ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

2. ์žฌํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•œ ์†Œ์Šค์ฝ”๋“œ ์‰ฝ๊ฒŒ ์ž‘์„ฑ ๊ฐ€๋Šฅ

3. ์ •๋ณด๋ฅผ ์€๋‹‰ํ•  ์ˆ˜ ์žˆ์–ด ๋น„์ธ๊ฐ€๋œ ์ ‘๊ทผ์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ ๊ฐ€๋Šฅ

4. ๋‹คํ˜•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฆ„์ด ๊ฐ™์€ ์—ฐ์‚ฐ์ž์™€ ํ•จ์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ ๋ฒŒ ์ •์˜

5. ์ƒ์†์„ ์ด์šฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์œ ๋„

 

c++์™€ ์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ (์•Œ๊ณ ๋ฆฌ์ฆ˜> ๋ฐ์ดํ„ฐ) : ๋ฐ์ดํ„ฐํ˜•๊ณผ ๋ฌด๊ด€ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ.

c++์€ ์ •์ˆ˜, ์†Œ์ˆ˜๋ถ€๊ฐ€ ์žˆ๋Š” ์ˆ˜, ๋ฌธ์ž, ๋ฌธ์ž์—ด ๋“ฑ ๋‹ค์–‘ํ•œ ์œ ์˜ํฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃธ

๋ณดํ†ต์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์ •๋ ฌํ•˜๋ ค๋ฉด ๊ฐ ๋ฐ์ดํ„ฐํ˜•๋งˆ๋‹ค ๋ณ„๊ฐœ์˜ ์ •๋ ฌ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜์ง€๋งŒ

์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ์ผ๋ฐ˜ํ˜•์„ ์œ„ํ•œ ํ•จ์ˆ˜์— ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‘๋ฃจ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

728x90
    '๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์ •๋ฆฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • C++ ์ •๋ฆฌ -5 (auto ์„ ์–ธ, ๋ฐฐ์—ด, ๋ฌธ์ž์—ด)
    • C++ ์ •๋ฆฌ -4 (const ์ œํ•œ์ž, lvalue, ๋ถ€๋™์†Œ์ˆ˜์ ์ˆ˜ํ˜•, setf(), ๋ฐ์ดํ„ฐํ˜• ๋ณ€ํ™˜)
    • C++ ์ •๋ฆฌ -3 (์ดˆ๊ธฐํ™”, unsigned ํ˜•, ์ •์ˆ˜ํ˜• ์ƒ์ˆ˜,์ง„๋ฒ•์„ ๋ฐ”๊พธ๋Š” ์กฐ์ •์ž, char, bool ํ˜•)
    • C++ ์ •๋ฆฌ -2 (์ŠคํŠธ๋ฆผ, ์ถœ๋ ฅ, ์ž…๋ ฅ, cout, cin, ์ •์ˆ˜ํ˜•)
    hugDog
    hugDog
    ์•ˆ๋“œ๋กœ์ด๋“œ ๊ณต๋ถ€ ์ค‘์ธ ํ•™์ƒ์ž…๋‹ˆ๋‹ค!

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

    ๋‹จ์ถ•ํ‚ค

    ๋‚ด ๋ธ”๋กœ๊ทธ

    ๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
    Q
    Q
    ์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
    W
    W

    ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

    ๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
    E
    E
    ๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
    C
    C

    ๋ชจ๋“  ์˜์—ญ

    ์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
    S
    S
    ๋งจ ์œ„๋กœ ์ด๋™
    T
    T
    ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
    H
    H
    ๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
    Shift + /
    โ‡ง + /

    * ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.