인스턴스와 객체

객체

객체는 사람, 통장계좌, 자동차, 주문, 학생, 버튼 등 개별적으로 구분할 수 있는 실체를 의미한다.
객체는 자신의 고유의 이름과 상태와 행동을 갖는다.
객체의 상태를 표한혈 때 멤버변수라고 표현할 수 있으며, 객체의 행동을 메소드 혹은 멤버함수라고 표현한다.
클래스는 객체의 상태와 행동이 어떻게 만들지를 결정한 청사진이다.
즉, 클래스에서는 버튼이라는 객체가 클릭되어지면 다음화면으로 이동하는 행동을 정의하고 지금 버튼의 이름을 지정하는 상태 등이 동작할 수 있게끔 정의가 되어져 있는 설계도이다.

인스턴스

클래스가 메모리에 생성된 상태를 말한다. 클래스로부터 생성된 객체라고도 한다.
힙 메모리에 멤버 변수의 크기에 따라 메모리가 생성된다.
클래스를 기반으로 New 예약어를 통해 인스턴스를 생성한다.

객체와 인스턴스의 차이

객체는 소프트웨어 세계에 구현할 대상이고, 이를 구현하기 위한 청사진이 클래스 이며, 이청사진에 따라 생성된 실체가 인스턴스이다.

즉 개념적으로 인스턴스는 객체에 포함된다고 할 수 있고 인스턴스라고 표현을 하는 것이 더 정확하지만 둘을 같다고 봐도 틀린말은 아니다.