티스토리 뷰

반응형

대부분의 개발자들은 객체지향형 프로그래밍(OOP)라고 하는 것에 굉장히 익숙할 것입니다. 저 또한 대학교에서도 교육을 받으면서도 객체를 중심적으로 프로그래밍을 진행하고, 자바언어는 특히나 그런 것에 최적화되어 있다는 것을 기본 개념으로 삼고 프로그래밍을 진행해왔습습니다. 최근에 아티클을 읽던 와중 신기하고 기묘한 내용이 있어 소개드리고자 합니다. 위시켓에서 작문한 글로 새로운 개념인 데이터 지향 설계(DOP)를 추천하는 글이어서 괜찮은 것 같아 가져와봤습니다.

https://yozm.wishket.com/magazine/detail/2157

 

개발자가 알아야 할 데이터 지향 설계란? | 요즘IT

객체지향 프로그래밍은 클래스(Class)를 통해 데이터와 행위를 묶어 관리하는 프로그래밍 패러다임입니다. 그렇지만 OOP의 사용에 대한 모호함에 대한 논의는 여전히 진행되고 있으며, 최근에는

yozm.wishket.com

 

위에 글에 나와있는대로 우리는 웹 개발을 진행하면서 객체지향 언어를 선호하고 있습니다. 함수형 프로그래밍도 좋은 기법중에 하나이지만 결국 자바 언어의 근간은 객체 지향을 위주로 다루고 있기 때문에 아래의 그림처럼 "속도 차이가 나더라도 크게 지장이 없는 한에서는 자바 언어를 사용해도 충분히 빠르다" 라는 것이 대표적입니다. 

데이터 지향 설계와 객체지향 설계 속도 차이
출처: 위시켓

 

하지만 여기서 다르게 살펴봐야할 부분은 기존에 관습적으로 사용하고 있던 것 때문에 변화에 인색하여 그냥 기존것을 유지하는 것이 과연 옳은 선택일지.. 한 번 되짚어 보는 시간이 있었으면 좋겠다라는 생각도 하였습니다. 개발자라는 직업은 말 그대로 새로운 것을 개발하는 것이 주 목적인 사람인데, 새로운 것을 기존의 방식을 사용하여 계속 개발하는 것이 과연 옳은 것인가에 대한 직업의 특성에 대한 근본적인 고민이 되는거죠..

 


 

여기에서 보면 기본적으로 같은 원리의 코드를 작동시키는데도 속도가 크게 차이가 나는 것을 보여주고 있습니다. 프로그램의 아키텍처 자체에 대한 내용을 설명해주고, 캐시를 어떻게 효과적으로 사용하는 지에 따라 더 자세한 설명이 첨부되어 있어 도움이 되었습니다. 이어지는 아티클이 하나 더 있는데요, 여기서는 자바 20에 대한 내용과 자바에서 지원하는 DOP의 기능을 설명하고 있습니다. 

https://yozm.wishket.com/magazine/detail/2164/

 

개발자가 알아야 할 데이터 지향 프로그래밍 with JDK 20 | 요즘IT

객체지향 프로그래밍(Object-Oriented Programming, OOP)은 클래스(Class)를 통해 데이터와 행위를 묶어 관리하는 프로그래밍 패러다임입니다. 그렇지만 OOP의 사용에 대한 모호함에 대한 논의는 끊임없이

yozm.wishket.com

 

자바 프로그래밍 언어에 관심이 많은 분들에게 도움이 되었으면 좋겠습니다. 

반응형
댓글
공지사항