AIFFEL 6일차 1/3(월)

KSHH·2022년 1월 3일

절차지향 vs 객체지향

  • 절차지향

    절차에 따라 진행하는 방식, 작업 순서대로 진행하게 되어있음.
    장점 : 컴퓨터의 처리방식과 유사하므로 실행이나 처리 속도가 빠름
    단점 : 유지보수가 어려움, 순서가 바뀌면 결과값이 바뀜.

  • 객체지향

    절차보다는 객체, 하나의 object에 집중하여 진행하는 방식
    작게 구분한 단위인 클래스 등으로 이루어져 있음.
    장점 : 잘 설계된 클래스를 만들어서 라이브러리로 재사용하면 생산성이 향상됨. 수정해야할 부분이 클래스 내부에 변수 혹은 메서드로 존재하기 때문에 유지보수가 쉬움. 객체 단위로 모듈화시켜서 개발할 수 있기 때문에 여러 명이 투입되는 대형프로젝트에서 업무분담에 용이함.
    단점 : 객체가 많아지면 용량이 커짐. 설계 시 많은 시간이 소요됨.
    처리속도가 상대적으로 느림.


클래스 관련

  • 클래스 : 함수와 변수들을 모아놓은 틀이다. 어떤 프로그램의 설계도면
  • 모듈 : 함수나 변수 또는 클래스를 모아놓은 실행파일. 여러가지 클래스나 함수가 작성되어 있는 것들을 하나의 파일로 저장하면 그것이 바로 모듈. (~.py)
  • 패키지 : 모듈을 묶은 상위 캡슐. 도트(.)를 이용하여 파이썬 모듈을 계층적으로 관리할 수 있도록 해준다.
  • 라이브러리 : 도서관을 생각하면 쉽다. 책들이 모여서 꽂혀있는 곳을 통째로 가져와서 책 안에 있는 것들을 사용하고 볼 수 있는 개념. 여러 모듈과 패키지를 묶은 것이 바로 라이브러리다. 파이썬에서 기본적으로 제공하는 라이브러리도 있으며, 외부 라이브러리를 import하기도 한다.(Numpy, Pandas..)
  • 메소드 : 실제로 동작하는 것을 의미. 함수와 유사하지만 클래스 및 객체와 연관되어 있으면 메서드이다.
  • 인스턴스 : 클래스라는 틀에 따라 객체를 만든 것으로 설계도에 따라 만든 하나하나의 객체를 인스턴스라고 보면 된다.

0개의 댓글