오늘 내가 한 일 - TIL

노개북 클린코드(clean code) 2022.03.01

바구레 2022. 3. 1. 21:28

오늘 읽은 범위

6장 객체와 자료구조

 

책에서 기억하고 싶은 내용을 써보세요.

  • 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면서 새 객체 타입을 추가하기는 쉬운 반면, 기존 객체에 새 동작을 추가하기는 어렵다.
  • 자료 구조는 별다른 동작 없이 자료를 노출한다. 그래서 기존 자료 구조에 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를 추가하기는 어렵다.
  • 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다.
  • 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

이번 내용은 솔직히 정확하게 이해되지 않았다. 어려웠지만 객체와 자료구조의 방법 중 둘의 장단이 있으니 작업의 방향에 따라 객체와 자료 구조의 방식을 적절하게 선택하여 작성해야한다는 의미로 이해하였다. 자바로 된 예시코드를 읽는데에 어려움이 있어 예시에서 말하고자 하는 바를 100% 이해하지 못하여 아쉽다. 

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 객체 지향 프로그래밍 : 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 
  • 객체 : 객체 또는 오브젝트는 클래스에서 정의한 것을 토대로 메모리에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 변수, 자료 구조, 함수 또는 메소드가 될 수 있다. 객체 지향 프로그래밍에서 객체는 클래스와 인스턴스를 포함한 개념이다.
  • 자료 구조 : 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명력어를 의미한다. 
  • 클래스 : 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀이다. 객체를 정의 하기 위한 상태(멤버변수)와 메서드(함수)로 구성된다.
  • 메서드(멤버 함수) : 객체 지향 프로그래밍에서 객체와 관련된 서브 루틴(또는 함수)이며 데이터와 멤버 변수에 대한 접근 권한을 갖는다. 
  • 멤버 변수(또는 멤버 필드) : 특정 객체와 연결된 변수의 하나이며, 해당 변수의 모든 메소드에 접근이 가능하다. 클래스 기반 언어에서 이들은 두 종류로 구별된다. 모든 인스턴스의 클래스와 공유되는 변수의 사본이 하나만 있을 경우 이를 클래스 변수나 정적 멤버 변수로 부른다. 클래스의 각 인스턴스가 자신만의 변수 복사본을 소유하고 있는 경우 해당 변수는 인스턴스 변수라 부른다.  
  • 인스턴스 : 해당 클래스의 구조로 컴퓨터 저장공간에서 할당된 실체를 의미한다. 여기서 클래스는 속성과 행위로 구성된 일종의 설계도이다. 
  • 단어의 의미를 정확하게 알지 못하니 책을 읽어도 내용 이해가 잘 되지 않는다. 위키백과를 통해 모르는 단어의 의미를 찾아보고 읽었지만 그 해설도 어려워서 이해도가 낮다.  과거에 자격증을 따기 위해 암기했던 정보처리기사 이론 서적을 사서 다시 천천히 읽어봐야 할 것 같다. 

 


출처 위키백과 https://ko.wikipedia.org/

 

위키백과, 우리 모두의 백과사전

위키백과:대문 위키백과, 우리 모두의 백과사전. 위키백과 우리 모두가 만들어가는 자유 백과사전문서 578,920개와 최근 기여자 2,238명 사랑방 다른 분들과 의견을 교환해봐요! 질문방 지침으로

ko.wikipedia.org