호이호우
Beatlefeed
호이호우
전체 방문자
오늘
어제
  • 분류 전체보기 (75)
    • 세상은 지금... (4)
    • 인공지능 (24)
    • 코딩배우기 (21)
      • HTML, CSS (7)
    • 심리학 (25)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • mnist
  • pix2pix
  • Optimizer
  • Gan
  • 심리치료
  • tensorflow
  • Momentum
  • 인공지능
  • keras
  • Deep learning
  • generator
  • Decoder
  • Sketch2Pokemon
  • ADHD
  • BatchNormalization
  • discriminator
  • U-Net
  • Diana Baumrind
  • Encoder
  • 권위주의적육아
  • Python
  • 행동심리
  • Loss Function
  • 발달심리학
  • 파이썬
  • CIFAR-10
  • DCGAN
  • LeakyReLU
  • cGAN
  • U-Net Generator

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
호이호우

Beatlefeed

객체 지향 프로그래밍 개념
코딩배우기

객체 지향 프로그래밍 개념

2020. 8. 28. 00:47
반응형

1. 객체 지향 프로그래밍


1)과거에는 "Top-Down"의 방식을 이용했지만 비효율적이라 새로운 방식인 객체지향 "Botton-Up"의 방식 사용.


- "Top-Down"

위에서 부터 하나 하나 만들어가는 "Top-Down"


- "Botton-Up"


하나의 객체(object), 작은 단위로 만들어 객체별로 test -> pass를 하는 "Botton-Up" 방식


2. 객체 지향 프로그래밍 "Botton-Up"의 장점 및 단점


1) 장점

- 데이터나 기능에 변화가 생기더라도, 관련된 객체만 수정하면 되서 프로그래밍 하기 편함.

- 조금 더 의미 있는 단위로 나누기 때문에, 코드를 이해하거나, 다른 프로그램에서 재사용하기 수월.

- 전체가 완성되지 않아도 일부 기능만 사용해볼 수 있어 테스트에 유리.

- 유지보수 용이.

- 가독성 높음.


2) 단점

- 코드를 잘 나누고 설계하는 것이 어려움.(코드를 작성하기 전, 설계부터 많은 노력이 듬.)

- 사람이 이해하고 작성하기 편한 방식으로 코드를 나누어, 컴퓨터가 이해하는데 소요 시간이 많아 실행속도 느림.

- 저장 공간을 많이 차지하기도 함.

- 극도로 빠르거나, 주어진 자원을 극도로 활용해야 하는 곳은 불리 : 보안, 금융, 인공지능, 임베디 등 특수 목적 분야


3. 객체 지향 언어를 사용하면 좋은 곳


1) 많은 데이터를 다루는 프로그램, 규모가 큰 프로젝트 같은 경우

2) 요즘 어떤 프로그램이든 사용하는 데이터가 많아서, 객체 지향 프로그래밍이 더욱 빛을 발하는 시기

3) 극도로 빠른 실행 속도가 필요한 분야 또는 저장 장치나 성능이 제한적인 기기( 스마트 워치, 스마트 TV, 스마트 냉장고)에 들어가는 프로그래밍은 불리함.


반응형
저작자표시 (새창열림)

'코딩배우기' 카테고리의 다른 글

8일차)프로그래밍 핵심 개념 in Python(return, optional parameter)  (0) 2020.09.05
7일차)프로그래밍 핵심 개념 in Python(boolean, type)  (0) 2020.08.31
6일차)프로그래밍 핵심 개념 in Python(foramt, 포맷팅)  (0) 2020.08.28
5일차)프로그래밍 핵심 개념 in Python(숫자형, 문자열, 형변환)  (0) 2020.08.26
4일차)컴퓨터 개론-소프트웨어 이해하기  (0) 2020.08.25
    '코딩배우기' 카테고리의 다른 글
    • 8일차)프로그래밍 핵심 개념 in Python(return, optional parameter)
    • 7일차)프로그래밍 핵심 개념 in Python(boolean, type)
    • 6일차)프로그래밍 핵심 개념 in Python(foramt, 포맷팅)
    • 5일차)프로그래밍 핵심 개념 in Python(숫자형, 문자열, 형변환)
    호이호우
    호이호우
    나의 관심 콘텐츠를 즐겁게 볼 수 있는 Beatlefeed!

    티스토리툴바