inflearn logo
강의

Course

Instructor

Java Basics by Nadokoding - Full Course (20 hours)

Class

객체와 인스턴스의 차이

2609

jdna1009

25 asked

0

BlackBox bbox = new BlackBox(); 에서

  1. BlackBox 클래스로부터 bbox 객체 생성

  1. bbox 객체는 BlackBox 클래스의 인스턴스

라고 하셨는데

객체와 인스턴스가 무슨 차이가 있는지 이해가 안되네요..

java 객체지향

Answer 2

0

nadocoding

안녕하세요?
먼저 답변이 늦어 죄송합니다.

객체와 인스턴스는 일반적으로 같은 개념을 가리키지만, 객체가 생성된 상태를 구체적으로 나타내는 경우에는 인스턴스라는 용어를 사용하는 경우가 있습니다.

보다 명확하게 이해하기 위해 다음 예시를 통해 생각해볼까요?

사람 클래스인 Person 이 있습니다.
이름과 나이 정보를 가지는 간단한 클래스죠.

public class Person {
    String name;
    int age;
}

객체(Object) : 객체는 클래스의 인스턴스입니다. 클래스에 정의된 속성(변수)과 동작(메소드)을 가지고 있습니다. 예를 들어, Person 클래스로부터 생성된 person1 은 Person 클래스의 객체입니다.

Person person1 = new Person();

인스턴스(Instance) : 인스턴스는 클래스의 객체가 메모리에 할당되어 실제로 존재하는 상태를 의미합니다. 예를 들어, person1 이라는 객체가 메모리에 할당되어 생성된 상태를 person1 은 Person 클래스의 인스턴스이다 라고 말할 수 있습니다.

정리하자면, 클래스는 객체를 만들기 위한 템플릿(설계도)이며, 객체는 클래스의 인스턴스입니다. 객체가 메모리에 할당되어 실제로 존재하는 상태를 나타낼 때 인스턴스라는 용어를 사용할 수 있습니다.

하지만 보통은 객체와 인스턴스라는 용어를 혼용해도 크게 문제되지 않는다는 의견입니다 😊
감사합니다.

0

76

인스턴스는 객체를 부르는 다른 이름입니다.

인스턴스는 영어로 "사례", "…을 예로 들다" 라는 의미 잖아요. 클래스로 만든 객체의 사례(실제 예)라는 의미를 강조할 때 인스턴스라고 부릅니다.

또는, 객체가 메모리에 올라가면 이를 강조해서 인스턴스라고 부릅니다. 참고로, new 연산자를 사용하면 객체가 메모리에 올라갑니다.

클래스 : 객체 = 사람 : 김연아 라고 하면,

김연아는 객체이기도 하지만 대한민국에 김연아라는 이름을 가진 사람이 많겠죠? 그중에서 "피겨여왕 김연아"라고 구체적으로 말하면, 객체의 실제 예를 가리키니까 이 때는 인스턴스라고 부를 수 있겠죠.

자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?

0

132

2

static이 뭐였는지 기억이 안나요 ㅜㅜ

0

110

2

Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의

0

69

1

사고력 키우는 법이 어떤게 있나요?

0

87

2

getter setter

0

100

2

섹션9. 66 메소드 오버로딩 시 질문이 있습니다.

0

77

1

안녕하세요 갑자기 프로그램 에러가 떠서 안되네요

0

75

2

변수 이름짓는법

0

114

2

intelli J 실행오류

0

114

2

혹시 이건 수학적 사고가 부족한 걸까요?

0

152

2

영상이 재생이 안됩니다.

0

163

3

이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.

0

114

2

응용이 어렵습니다.

0

203

2

IntelliJ가 보이지 않습니다.

0

182

3

JDK 버전 문의

0

128

2

BlackBox 파일 내에서 메소드 정의

0

135

1

동기화

0

120

2

Iterator 문의

0

101

1

코드 순서 문의

0

139

1

클래스 메소드

0

146

2

Quiz_05 관련 질문드립니다 !

0

114

2

다운로드가 안됩니다

0

162

2

다형성

0

115

2

HashMap

0

75

2