본문 바로가기
Programming/Java

[Java] 객체와 클래스의 정의 및 차이점

by AI_Wooah 2020. 10. 5.

저번 포스팅에서 클래스를 만들고 사용하는 방법에 대해서 간단히 설명 드렸습니다.

이번에는 객체와 클래스 각각의 정의와 차이점에 대해 정리 해보겠습니다.

 

 

객체와 클래스의 정의

객체란?

우리가 인식할 수 있는 여러 개의 독립된 단위입니다. 현실 세계는 사물이나 개념처럼 독립되고 구분되는 각자의 객체로 이루어져 있습니다.

객체지향언어는 현실의 객체라는 개념을 컴퓨터로 옮겨놓은 것이며 각각의 개체는 서로 메세지를 주고 받으며 데이터를 처리할 수 있습니다.

 

객체 ⇒ 클래스에 작성된 대로 new연산자를 통해 heap 메모리에 생성된 공간을 Object(혹은 Instanse)라고 합니다.

 

 

클래스란?

객체의 상태와 행동을 어떻게 할지 결정하는 설계도의 역할을 합니다.

속성(필드) 공통점을 추출하여 사용자 정의의 자료형 String처럼 str같이 변수명을 선언하고 자료형으로 쓸 수 있습니다.

접근제한자를 걸지 않으면 일반 자료형처럼 접근해서 쓸 수 있습니다.

하지만 책임 때문에 private로 감춰놓고 이 공간에 있는 클래스를 사용할 수 있도록 메소드 및 setter getter를 통해 값을 Main method로 호출하여 사용할 수 있습니다.

 

 

 

객체와 클래스의 차이점

클래스는 우리가 작성한 소스코드이며 하드웨어에 저장되어있습니다. 이것을 cpu와 소통시키기 위해 램에 갖다놓은 것이 객체입니다.

 

한 마디로 객체가 붕어빵이면 클래스는 붕어빵 틀이라고 할 수 있습니다.

 

클래스는 객체를 구현하기 위한 설계도를 그린 틀이고 객체는 클래스를 통해 구현된 실체입니다.

 

 

마지막으로 객체와 클래스의 차이점을 이해를 돕는 시를 가져왔습니다.


객체 - 미상

내가 new를 하기 전에는

그는 다만

하나의 클래스에 지나지 않았다.

내가 그 클래스를 new했을 때,

그 클래스는 heap에 올라와 객체가 되었다.


 

반응형

'Programming > Java' 카테고리의 다른 글

[Java] 연산자  (0) 2022.03.07
[Java] 변수(Variable)  (2) 2020.10.26
[Java] 프로그래밍 기초  (0) 2020.10.26
[Java] 상속을 사용하는 목적과 장점  (1) 2020.10.07
[Java] 클래스  (0) 2020.10.05

댓글