ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python?
    Programming/_Python 2023. 6. 15. 21:48

     파이썬은 1990년 암스테르담의 귀도 반 로섬이 고급 프로그래밍 언어이다.

    파이썬은 간결하고 읽기 쉬운 문법이 특징이며, 주로 데이터 분석, 인공지능 등 다양한 분야에서 활용된다.

    파이썬은 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어이다.

     

    - Interpreter

     인터프린터 언어란 한 줄씩 소스 코드를 해석하고 실행하여 결과를 바로 확인할 수 있게 해주는 언어다.

    코드를 기계어로 번역하는 컴파일러와 대비되며, 다음의 과정 중 한 가지 기능을 가진 프로그램이다.

    1. 소스 코드를 직접 실행
    2. 소스 코드를 효율적인 다른 중간 코드로 변환하고, 변환한 것을 바로 실행
    3. 인터프리터 시스템의 일부인 컴파일러가 만든, 미리 컴파일된 저장 코드의 실행을 호출

    인터프리터 언어는 기계어 명령어들이 만들어지는 컴파일 단계를 거치지 않는다는 장점이 있지만, 프로그램의 크기가 크다면, 상당한 시간이 걸린다는 단점이 있다.

     

    - OOP (Object - Oriented Programming)

     객체 지향 프로그래밍은 여러 개의 독립된 단위 객체들의 모임으로 만들어 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.

    객체 지향 프로그래밍의 특징은 자료 추상화, 상속, 다형 개념, 동적 바인딩 등이 있다.

     

    1. 자료 추상화

     자료 추상화는 불필요한 정보는 숨기고 중요한 정보만을 표현하여 프로그램을 간단히 만드는 것이며, 객체에서 공통된 속성과 행위를 추출하고 찾아서 타입을 정의한다.

    예를 들어서 우리가 붕어빵 틀을 만들어두면, 팥 붕어빵, 슈크림 붕어빵등 다양한 붕어빵을 만들 수 있다.

    여기서 우리가 만들어 놓은 붕어빵 틀을 추상화로 볼 수 있으며, 이를 구현해 놓음으로써 코드를 수정할 필요 없이 추가로 만들 부분만 새로 생성해주면 된다.

     

    2. 상속

     상속은 새로운 클래스가 기존의 클래스의 자료와 연산을 사용할 수 있게 해주는 기능이다.

    클래스간의 종속 관계를 형성하고 객체를 조직화 할 수 있다.

     

    - 장점

    • 재사용으로 인한 코드의 길이가 줄어든다.
    • 범용적인 사용가능

     

    - 단점

    • 불필요한 클래스 증가
    • 상위 클래스의 변경이 어려움

     

    3. 다형 개념

     다형 개념은 어떤 한 요소에 여러 개념을 넣는 것이며, 일반적으로 오버라이딩과 오버로딩을 의미한다.

     

    - 오버라이딩

     같은 이름의 메소드가 여러 클래스에서 다른 기능을 하는 것

     

    - 오버로딩

     같은 이름의 메소드가 인자의 개수나 자료형에 따라서 다른 기능을 하는 것

     

     이는 객체 지향 프로그래밍 하나의 클래스 내부에 같은 이름을 여러개 정의하거나 상위 클래스의 동작을 하위 클래스에서 재정의하여 사용할 수 있기 때문에 다형 개념이 발생한다.

     

    4. 동적 바인딩

     동적 바인딩은 실행 시간 중에 일어나거나 실행 과정에서 변경될 수 있는 바인딩으로 컴파일 시간에 완료되어 변하지 않는 정적 바인딩과 대비되는 개념이다.

     

    - 정적 바인딩

     실행 이전에 값이 확정됨.

     컴파일 타임에 호출될 함수가 결정되는 것, 함수는 기본적으로 정적 바인딩.

     

    - 동적 바인딩

    실행 이후에 값이 확정됨.

    런타임에 호출될 함수가 결정되는 것, virtual 키워드를 통해 동적 바인딩 하는 함수를 가상 함수라고 함.

     

    - 자료형 체계 (Type system)

     자료형 체계는 값, 표현식, 함수, 모듈 등을 분류하는 규칙의 집합이다.

    각각의 계산된 값은 자료형을 갖는데, 자료형 체계는 프로그램 안에서 값의 흐름을 컴토하여 자료형에 맞지 않는 값이 할당되는 것을 막는다. 이를 자료형 오류라고 한다.

     

    1. 정적 정형

     자료형 검사가 실시간이 아닌 컴파일 타임 동안 수행될 경우에는 정적 정형이라고 한다.

    정적 정형은 프로그램 검증의 제한된 형태이며 많은 자료형 오류가 개발주기의 초기에 발견된다.

     

    2. 동적 정형

     자료형 검사의 대부분이 컴파일 타임이 아닌 실행 시간에 수행이 될 경우에는 동적 정형이라고 한다.

    동적으로 정형된 언어는 일반적으로 모든 런타임 개체가 자료형 정보를 함께 갖고 있다. 하지만, 런타임에서 예상치 못한 유형의 값을 출력하여 런타임 자료형 오류가 발생할 수 있다.

     

     


    파이썬: https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%B4%EC%8D%AC

     

    파이썬 - 위키백과, 우리 모두의 백과사전

    위키백과, 우리 모두의 백과사전. 이 문서는 프로그래밍 언어에 관한 것입니다. 그리스 신화의 괴물에 대해서는 피톤 문서를, 미사일에 대해서는 파이톤 5 미사일 문서를 참고하십시오. 파이썬Py

    ko.wikipedia.org

     

    자료형 체계: https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C%ED%98%95_%EC%B2%B4%EA%B3%84

     

    자료형 체계 - 위키백과, 우리 모두의 백과사전

    위키백과, 우리 모두의 백과사전. 컴퓨터 과학에서 자료형 체계(type system)는 값, 표현식, 함수, 모듈 등을 분류하는 규칙의 집합이다. 보다 형식적으로는, "계산될 값을 분류하여 특정한 종류의

    ko.wikipedia.org

    'Programming > _Python' 카테고리의 다른 글

    Python_lambda  (0) 2023.06.22
    Python_function  (0) 2023.06.21
    Python_upper_lower  (0) 2023.06.15
Designed by Tistory.