OPP란...

SaGo_MunGcci·2022년 7월 21일
0

웹기술 및 이론

목록 보기
4/5

1. 객체지향 프로그래밍(opp)

  • 1.객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. -위키백과-

  • 1) 1번째 문단 고찰

  • 각각의 역할을 맡은 객체가 역할, 책임, 협력을 하면서 하나의 프로그램을 만들어 내는 것이다. --> OPP 즉, 객체지향 프로그래밍
  • 각각의 음표가 제 역할을 다해 옳바른 소리를 내고 다음으로 이어지기때문에 휼륭한 음악이 나올 수 있는 것과 동일한 개념인것 같다.

  • 그럼 음표도 악보라는 클래스의 객체이지 않을까?? 라는 생각이 문득들었다.

  • 지금 듣고있는 라흐마니 노프 피아노협주곡 2번도 이 8개의 음정과 박자와 세게 강도로 클래스를 나누고 각각의 클래스의 객체를 생성해서 메인클래스와 같은 악보에서 실행되는 것이 아닐까 생각이 들었던 것이다.

  • 2) 객체란 정확히 무엇일까???

    • 많은 사람들은 시스템에 필요한 데이터를 저장하기 위해 객체가 존재한다는 선입견을 가지고 있다. 물론 객체가 상태의 일부로 데이터를 포함하는 것은 사실이지만 "데이터는 단지 객체가 행위를 수행하는 데 필요한 재료일 뿐이다." 그리고 "객체가 존재하는 이유는 행위를 수행하며 협력에 참여하기 위해서이다." 따라서 "실제로 중요한 것은 객체의 행동, 즉 책임이다."
      -객체지향의 사실과 오해 (조영호 저, p.128) -
  • 즉 객체 그자체가 중요한것이 아니라 객체의 데이터가 중요한 것이고 객체의 데이터가 개발자가 정의한 프로그래밍대로 도출 혹은 출력되야 되는 것이다. 그렇기때문에 각 객체는 책임을 진다고 할 수 있을것이다. 개발자가 부여한 책임일 것이다.

  • 라흐마니노프가 개발자라고 가정한다면 그는 머리속에 음표와 리듬 박자 세기라는 카테고리를 가지고 있을것이고 각각의 음표라는 클래스에서 도레미파솔라시도를 생성할때 각각 도레미파솔라시도는 라흐마니노프가 작곡한 악보에서 정확하게 그순간 소리가 나야 한다는 책임을 가지고 잇는 것이다.
    음표의 모양이 어떻게 생겼든 결국은 그 소리가 원하는 박자와 리듬과 강도로써 소리가 나야 피아노 협주곡 2번이 탄생하는 것이다.

  • 따라서 객체는 협력과 역할과 책임을 가져야 되고 각 객체가 책임을 다할수 있도록 "메세지"를 통해서 수행한다고 할 수있다.

  • 3) 객체는 서로 간섭받지 않고 자율성이 보장 되어야 한다.

  • 4) 객체는 너무 추상화되지도 그리고 너무 구체화되지도 않아야 한다

  • 5) 객체와 객체의 소통은 메세지로만 이루어져야한다.
    하나의 객체가 다른객체의 내용을 볼 수 있거나 직접적으로 변화를 주게 설계해서는 안된다.

-객체지향의 사실과 오해 (조영호 저, p.149) 읽은 내용 공부-

profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글