-
객체 지향 프로그래밍이란?JAVA/[김영한 강사님] 스프링 2022. 8. 21. 21:12
객체 지향 프로그래밍이란 무엇일까?
위키백과에서의 정의는 다음과 같다.
컴퓨터 프로그램을 명령어의 목록이 아닌 독립적인 단위
즉, '객체'들의 모임으로 파악하고자 하는 것이다.예를 들자면 원자들이 모여서 분자가 되고, 분자들이 모여서 물질이 된다.
그럼 '객체'가 중요한 것 같은데, '객체'란 무엇일까?
유추를 해보자.
분자들이 모여서 물질이 된다고 했으니 분자가 '객체'에 해당할 것이다.
우리 주변에 있는 모든 물건들이 물질로 이루어져 있다.
쉬운 예로 물을 들어보면 좋겠다.
- 물은 어떤 분자로 이루어져 있을까?
- 물의 분자식은 H₂O, H는 수소, O는 산소이다.
- H₂O라고 했으니 수소가 2개, 산소가 1개 결합한 형태이다.
- 그럼 수소와 산소가 '객체'라고 볼 수 있겠다!
어렴풋이 '객체'에 대한 감이 잡히는 것 같다.
여기까지의 유추로 내 나름대로 '객체'에 대한 정의를 해보자면
'객체'란 프로그램이 완성되기 위한 특정한 행동을 하는 조각이며,
다양한 조각들이 모여 프로그램이 된다.라고 할 수 있을 것 같다.
하지만 이것만 가지고는 객체 지향이 왜 필요한지는 잘 모르겠다.
좀 더 확장해보면 알 수 있지 않을까?
- 공기는 산소로 이루어져 있다.
- 산소의 분자식은 O₂이다.
- 산소 분자가 2개가 결합한 형태이다.
- 물은 수소 2개와 산소 1개가 결합했는데 산소는 산소 분자 2개가 결합했네?
분자들을 재사용해서 새로운 물질을 만들 수 있겠구나!
결국, 객체 지향에서 가장 중요한 것은 '객체들의 재사용'이라고 볼 수 있겠다.
서로 다른 역할을 하는 '객체'들을 이용해 새로운 프로그램을 만들어 낼 수 있는 것,
이것이 객체 지향 프로그래밍을 사용하는 이유라고 나름 결론을 내렸다.
그러면 자바에서는 이것을 위해 어떻게 객체들을 다뤄야 할까?
이는 다형성과 인터페이스와 함께 알아보도록 하겠다.
'JAVA > [김영한 강사님] 스프링' 카테고리의 다른 글
싱글톤 컨테이너 (0) 2022.09.17 다형성과 인터페이스 (0) 2022.08.21 스프링 (0) 2022.08.21 - 물은 어떤 분자로 이루어져 있을까?