내 생각대로 정리하는 블로그

[프로그래밍 언어] 절차적 / OOP / 함수형 언어 본문

IT공부/프로그래밍

[프로그래밍 언어] 절차적 / OOP / 함수형 언어

빌로 2021. 7. 13. 21:31

내가 처음 접한 언어는 Java이다. Java는 대표적인 개체지향 프로그래밍 언어이다.

처음 개체에 대해 들었을때 도대체 무슨 소리인가 싶었다. 어떤사람은 집합, 묶음, 덩어리와 같이 너무 추상적인 단어로 비유해서 무슨말인지 몰랐다. 현재는 이런식으로 설명하고 싶다.

 

  • 사람
    •  머리색: 검은색
    •  눈동자: 검은색
    •  키: 180cm
    •  이름: 홍길동
    •  나이: 34살
    •  몸무게: 80kg

각 사람마다 가지고 있는 고유 정보값들이 모두 다르다. 그것을 표현하고 정의한 것이라고 하고싶다.

 

그 이외에도 절차적 프로그래밍 언어, 함수형 프로그래밍 언어가 존재한다.

  • 개체지향 프로그래밍(Object Oriented Programming)
    • 대표적인 언어 Java
    • 3대 특성
      • 캡슐화: 데이터와 알고리즘이 하나의 묶음으로 정리된 것
      • 상속: 작성된 클래스를 이어 받아서 새로운 클래스를 생성하는 방법, 기존코드 재활용
      • 다형성: 하나의 메소드명으로 많은 상황에 사용하는 기법, 코드가 간단해짐.
  • 절차적 프로그래밍
    • 대표적인 언어 C
    • 순서대로 코드를 실행
    • 결과가 바로 반환됨
    • 기능과 자료 저장의 분리
    • 컴퓨터의 처리구조와 비슷해 속도가 빠름
    • 유지보수가 어려움
    • 디버깅이 어려움
  • 함수형 언어
    • 절차적 언어와 비슷함.
    • 순서대로 함수를 실행하는 결과
    • 상태가 변하지 않는다.

 

개체지향과 절차지향은 상반된 정의가 아니다.

 

Comments