[Java] 객체(오브젝트와 인스턴스)
객체지향의 특징
-
코드의 재사용성이 높다.(새로운 코드를 작성 할 때 기존 코드를 이용하여 쉽게 사용가능)
-
코드 관리가 용이하다.
-
신뢰성이 높은 프로그래밍을 가능게 한다.
객체
보통 객체라고 하면 오브젝트를 떠올리게 됩니다.
오브젝트란?
오브젝트는 컴퓨터가 관리하는 메모리 공간인 스택영역에 저장되는 객체
정의 : 인스턴스를(변수와 메서드를) 정의해놓은 것
인스턴스란?
-
개발자가 관리하는 메모리 공간인 힙 영역에 저장되는 객체
-
클래스로부터 생성된 객체
-
오브젝트를 인스턴스로 만든 것
- 스택 메모리에 있는 내용을 힙 메모리로 변경 (스택 영역에 있는 내용을 힙 영역로 바꿔주는 이유는 간단하게 설명하면 내가 사용하기 편하게 하기 위해서이다 = 스택은 컴퓨터에서의 주소라고 생각하면 값이 어디있는지 찾기가 어려우며, 힙은 내가 만든 주소이기 때문에 사용하기 편리합니다. 오브젝트를 인스턴스화 하면 수정도 가능하고 사용하기가 편하기 때문이라고 생각하면 좋을 것 같습니다.)
객체(오브젝트)가 필요한 이유
객체는 인스턴스(변수와 메서드를) 생성하기 위해
-
설계도(오브젝트)가 왜필요해? 제품(인스턴스)생성을 위해
-
객체 = 클래스 = 오브젝트 = 설계도
-
인스턴스 = 제품
인스턴스가 필요한 이유
-
인스턴스를 사용하기 위해
-
인스턴스를 사용한다는 것은 인스턴스가 가지고 있는 변수와 메서드를 사용한다는 의미
댓글남기기