객체지향?

·2022년 4월 3일
1

컴퓨터개론

목록 보기
2/14

그냥 헛소리일수도 있지만 재밌는 상상인 것 같아서 적어보는 잡담이다.

자바스크립트는 왜 프로토타입을 선택했을까?

위 글의 내용을 보고 문득 생각이 난 것을 적어나가는 글이다.

객체지향을 이야기를 할 때, 맨날 나오는 이야기들 중 한가지가 바로 이 내용이다.
객체지향은 인간 친화적이다

어떻게보면 엄청 뜬금없고 헛소리마냥 들린다.
다짜고짜 저러면 누가 이해를 하겠는가? (그래서 나도 못함)

근데 저 위에 글을 보다보니 조금 이해가 갔다.
서양철학에는 이데아라는 것이 존재한다.

이것은 위에 올려놓은 링크를 타고 들어가면 그 내용이 금방 나오는데

영어권에서는 의자를 부를때는 a chair, the chair라는 식으로 이야기를 한다고 한다.


왜냐하면 chair는 그 물질의 원초, 즉 이데아 이기 때문이라는 표현을 하는데.
이게 무슨 소리인지 이해하면 객체지향 또한 이해를 할 수 있다고 생각한다.

우리나라의 말도 크게 다르지 않는다고 생각한다.

나도 어릴 때 의문을 가졌던 것 중 하나가

나무는 왜 나무야? 라는 것이였는데, 어른들의 대답은 대부분 나무는 나무니까 나무다 라는 것이였다
그런 대답을 원한게 아닌데
근데 저 질문을 생각해보면 우리가 나무는 뭐야? 라는 질문을 받으면 생각나는 것들이 정해져있다.
나뭇가지를 잔득 달고 있고, 잎사귀가 달려있는 혹은 앙상한 그런 다양한 것들을 말이다.

그것이 결국 나무의 이데아 라고 생각한다.
최초의 생김세, 그것을 나무라고 부르자고 약속을 하는 그 순간에

그런 다양한 속성들은 나무의 원초 속성, 이데아가 된 것이고
시간이 지남에 따라 비스무레하게 생긴 모든 것들은 ㅁㅁ 나무라는 이름을 붙이게 된 것이라고 생각하고 있다.


그래서 객체지향이랑 뭔 관계가 있는데

원초 이데아의 나무는 다양한 속성을 가지고 있다.
그리고 그 속성에 일부가 바뀐 것들이 다양한 나무들이다.

인간도 다양한 속성을 가지고 있다.
인간이라는 말은 인간의 설계도를 이야기를 하는 것이고

그 설계도에 다양한 속성 값이 변화되면 새로운 인간이 탄생하는 것이다.

작은 예시로 인간의 설계도(클래스)를 가져왔다.

내가 만든 인간(이데아)는 이름과 나이 키라는 3개의 속성을 가지고 있다.
하지만 기본 값은 따로 넣어놓지 않았기 때문에 그대로 쓰면 undefined가 나오긴 하지만

만약에 값을 넣을 경우에는



내가 만들어놓은 설계도에 따라서 새로운 인간이 생성이 된다.

우리가 살아가는 세상 또한 똑같다.

빵이라는 일반적인 상식이 설계도인데
그 설계도에 적혀있는 다양한 속성들을 일부 또는 전부 를 바꿔서 새로운 빵을 만들어낸다.

이것은 사람이 살아가는 방법이고
그것을 본따 만든 것이 객체지향이기에

나는 이래서 객체지향은 인간친화적인 방식이라고 생각하고, 결론을 지은 상태이다.

프로토 타입에 대해서도 한번 다뤄볼 것 같긴한데, 언제 다뤄볼지는 미지수다
이런걸로 고민할 시간에 코드 한줄이라도 더 적어보는게 공부에는 도움이 되겠지만
취업도 중요하지만 이런 호기심을 채워나가는 것도 중요하다고 생각해서 이런 것들을 꾸준히 써보려고 한다.
아마두

profile
물류 서비스 Backend Software Developer

1개의 댓글

comment-user-thumbnail
2022년 7월 10일

잘 보고가여!

답글 달기