OOP는 프로그래밍 패러다임 중 하나이고, 어떤 것보다 우월한 개념이 아니기 때문에 비판적인 관점으로 바라볼 필요가 있다.
객체화(= instance화, object화): class 에서부터 새로운 인스턴스를 만드는 과정
추상화: 현실의 물체의 공통적인 특징들을 모아 class를 생성
효율성(절차지향, 함수형) vs. 유지보수 용이성(객체지향)
주관성이 높다 = 의견이 다양하다 (->의미 이해중... 다시 찾아보기)
느낀 것
오늘 내용을 보면서 조금 충격적이었던 건 처음 프로그래밍을 접할 때 OOP가 기존에 있던 절차지향적 프로그래밍에서 뭔가 발전적인 형태인것 처럼 배웠었는데 그게 꼭 맞는 생각은 아니었다는 것이다.
프로그래밍도 (시대적? 역사적?) 배경의 흐름을 고려하여 중립적으로 주체적인 생각을 가지고 설계할 필요가 있다는 것을 느꼈다.
프로그래밍에 있어서 개인의 주관이나 철학을 갖는다는 것이 아직 멀게만 느껴진다. 주관이나 철학이라는 것은 어느정도 경험과 지식이 바탕이 되어야 생기는 것이 아닌가 하는 생각이 들기 때문이다. 그래도 이제 막 시작하고 배우는 입장에서 '철학'이라는 거창한 생각을 정립하긴 어려울 수 있지만 새로운 개념들을 무조건 수용하기보다 한번쯤 물음표를 넣어보고 비판적으로 바라보는 연습은 필요할 것 같다.
키워드
OOP
객체지향프로그래밍
객체화
추상화
배운 것
느낀 것