[Java] 클래스, 객체, 인스턴스 정리

코드 속의 "진돌"·2024년 1월 19일
0
post-thumbnail

✅ 클래스 - Class


클래스는 객체를 생성하기 위한 ‘틀’ 또는 ‘설계도’이다. 클래스는 객체가 가져야 할 속성(변수)과 기능(메서드)를 정의한다.

예) 학생이라는 클래스는 속성으로 name, age, grade를 가진다.




✅ 객체 - Object


객체는 클래스에서 정의한 속성과 기능을 가진 실체이다. 객체는 서로 독립적인 상태를 가진다.

예) student1은 “학생1”의 속성을 가지는 객체이고, student2는 “학생2”의 속성을 가지는 객체이다.

student1student2는 같은 클래스에서 만들어졌지만, 서로 다른 객체이다.




✅ 인스턴스 - Instance


인스턴스특정 클래스로부터 생성된 객체를 의미한다. 그래서 객체와 인스턴스라는 용어는 자주 혼용된다.

인스턴스는 주로 객체가 어떤 클래스에 속해 있는지 강조할 때 사용한다.

예) student1 객체는 Student 클래스의 인스턴스다.




✅ 객체 🆚 인스턴스


둘 다 클래스에서 나온 실체라는 의미에서 비슷하게 사용되지만, 용어상 인스턴스는 객체보다 좀 더 관계에 초점을 맞춘 단어이다. 보통 “student1Student의 객체이다.” 라고 말하는 대신 “student1Student의 인스턴스이다.” 라고 특정 클래스와의 관계를 명확히 할 때 인스턴스라는 용어를 주로 사용한다.

좀더 쉽게 풀어보자면, 모든 인스턴스는 객체이지만, 우리가 인스턴스라고 부르는 순간은 특정 클래스로부터 그 객체가 생성되었음을 강조하고 싶을 때이다. 예를 들어 student1은 객체이지만, 이 객체가 Student 클래스로부터 생성되었다는 점을 명확히 하기 위해 student1Student의 인스턴스라고 부른다.

☑️ 둘 다 클래스에서 나온 실체라는 핵심 의미는 같기 때문에 보통 둘을 구분하지 않고 사용한다.

profile
매일 성장하는 주니어 개발자의 기록📝

0개의 댓글