
비전공자로서 빠르게 개발 생태계에 익숙해지기 위해 그리고 간접적으로 이러한 환경에 노출되기 위해서 개발관련 책에 일독을 하고 있는 요즘이다.
생각보다(핑계지만 ㅎ;) 책을 읽을 시간이 없어서 1주일에 1권정도 목표로 하고 있고 현재 잘 유지(?)되고 있는거 같다라고 생각하면서 나에게 위로를,,,주자
이 책은 '혼공얄코'님이 (유튜브도 운영하심) 지은이 이며, 이전 <오늘부터 IT를 시작합니다> 책을 읽어서 그런지 이 책 또한 가벼운 마인드로 재밌게 읽을수 있었다.
덕분에 인프런에서 무료강의도 알게 되어 학습중에 있다.
단순히 개발업계에서 쓰는 워딩들에 있어 정의를 나열하는게 아닌, 적절한 비유와 실제 환경에서 어떻게 이용되는지에 대한 추가 설명을 통해 나름 이해가 잘 되었던거 같다.
그리고 개발자의 입장에 대해서도 어느정도 공감(?)도 되고,,, 이전에 회사 다닐 때 특정 제품에 대해 '오류'가 발생되면 단순히 롤백을 생각했지만 단순한 롤백을 하더라도 특정 기능에 대해 연결된 다른 기능도 연결이 되어있기 때문에 그렇게 단순하게 아니며, 버그가 아닌 오류는 제품을 이용하는 유저가 의도한 결과가 나오지 않는 경우도 많기도 하다.
뭐 이러한 인사이트(?)를 공감하게 되었다 ㅎㅎ,,,
비전공자로서 이 책을 일독 후 모든 개발관련 워딩에 대한 정확하게 인지된 건 아니지만 (책이 easy > medium > hard 순인거 같음) 우리는 결국 계속해서 개발환경에 대해 노출되고 학습을 할거기 때문에 그 순간에 한 번 인지된 상태로 접근할수 있겠다라는 믿음(?)이 생긴거 같다.
개발을 처음하게 된 시점부터, 도채게 객체지향이 어떤의미인지 이해가 잘 안되었는데 위 책을 통해 조금이나마 해소가 되었다.
절차지향 프로그래밍은 위에서 차례대로 소스코드를 읽는 방법이고, 나름의 순서가 정해져 있기 때문에 순서가 바뀌면 문제 생긴다. 그런데 가끔은 빠른 실행과 노하우(?)를 습득하여 중간과정에서 바꾸고 싶을수 있는데 이때 객체지향 프로그래밍이 단점을 보완할수 있는 개념인거 같다.
어디서 봤는데,,, 프로그램은 현실 세계의 어떤 일을 효율적이고 효과적으로 해결하기 위해 현실 세계를 코드화 한 것이고, 세상은 관점의 주체(subject)와 상대 또는 대상으로서 객체(object) 그리고 주체와 객체 간의 관계(relationship)로 구성된다고...
이 때 객체는 사람, 동물, 식물 등 나아가서 이 세상에 존재하는 모든 사물과 논리적으로 표현될 수 있는 다양한 개념과 상상이 포함될 수 있다고 한다.
여하튼 객체지향 프로그래밍이란 프로그램을 그저 데이터와 처리 방법으로 나누는 것이 아닌, 프로그램을 다수의 객체로 만들고 이 객체끼리 서로 상호작용하는 방법이다. 그렇기 때문에 절차지향 프로그래밍보다는 유지보수와 생산성이 좋다는 장점이 있지만, 많은 시간과 처리 속도가 느리다는 단점이 있다고 한다.
객체지향적 사고를 기르기 위해 다른 책을 일독하러 가야겠다... ㅎㅎ 개발에 대해 그리고 유관부서에서 개발자와 커뮤니케이선이 많고 역지사지에 대해 느껴보고 싶다면 일독을 권한다. 나 또한 이전회사때 생각해보면 어느정도 공감이 된 부분이 많았다.