Java에 대해 배우기 위해 그 근간이 되는 객체지향 프로그래밍과 관련 개념들에 대해 정리해보고자 합니다. 해당 포스트는 자바 공식홈페이지를 참고(번역?)했습니다. What is an Object? 프로그래밍을 해봤으면, 객체지향 프로그래밍(Object-Oriented Programming, OOP)이라는 것에 대해 한번 쯤은 듣게 됩니다. 가장 먼저, OOP에서 객체(Object)가 무엇인지에 대해 간략히 정리를 해보고자 합니다. 객체란, 서로 관련된 상태와 행동을 하나로 묶어놓은 소프트웨어의 번들입니다. 이러한 객체는 모두 상태(state)와 행동(behavior)이 있다는 특징을 가지고 있습니다. 예를 들어, 개라는 객체는 이름, 색깔, 품종, 배고픔정도와 같은 상태와, 짖고, 꼬리를 흔들고, 물건..