클래스를 사용해서 학생이라는 개념을 만들고, 각각의 학생 별로 본인의 이름, 나이, 성적을 관리하는 것입니다.
다음 예제를 통해 알아보겠습니다.
ex)
public class student {
String name;
int age;
int grade;
}
class 키워드를 사용해서 학생 클래스 Student를 정의하고 학생 클래스는 내부에 name, age, grade 변수를 가집니다.
클래스에 정의한 변수들을 멤버 변수 또는 필드라고 합니다.
- 멤버 변수(Member Variable) : 이 변수들은 특정 클래스에 소속된 멤버이기 때문에 이렇게 부릅니다.
- 필드(Field) : 데이터 항목을 가리키는 전통적인 용어입니다. 데이터베이스, 엑셀 등에서 데이터 가각의 항목을 필드라고 합니다.
- 자바에서 멤버 변수, 필드는 같은 뜻입니다. 클래스에 소속된 변수를 뜻합니다.
클래스(Class)
- 클래스는 객체가 가져야 할 속성(변수)과 기능(메서드)를 정의합니다. 예를 들어 학생이라는 클래스는 속성으로 name, age, grade를 가집니다.
객체(Object)
- 객체는 클래스에서 정의한 속성과 기능을 가진 실체입니다. 객체는 서로 독립적인 상태를 가집니다. 예를 들면 위에 코드에서 student1은 학생 1의 속성을 가지는 객체이고, student2는 학생 2의 속성을 가지는 객체입니다. student1과 student2는 같은 클래스에서 만들어졌지만 서로 다른 객체입니다.
인스턴스(Instance)
- 인스턴스는 특정 클래스로부터 갱성된 객체를 의미합니다. 그래서 객체와 인스턴스라는 용어는 자주 혼용됩니다. 인스턴스는 주로 객체가 어떤 클래스에 속해 있는지 강조할 때 사용됩니다. 예를 들면 student1 객체는 Student 클래스의 인스턴스다라고 표현합니다.
객체와 인스턴스
- 둘다 클래스에서 나온 실체라는 의미에서 비슷하게 사용되지만 용어상 인스턴스는 객체보다 좀 더 관계에 초점을 맞춘 단어입니다. 보통 student1은 Student의 객체입니다.라고 말하는 대신 student1은 Student의 인스턴스입니다.라고 특정 클래스와의 관계를 명확히 할 때 인스턴스라는 용어를 주로 사용합니다.
쉽게 말하면 모든 인스턴스는 객체이지만, 우리가 인스턴스라고 부르는 순간은 특정 클래스로부터 그 객체가 생성되었음을 강조하고 싶을 때입니다. 예를 들면, student1은 객체이지만, 이 객체가 Student 클래스로부터 생성된다는 점을 명확히 하기 위해 student1을 Student의 인스턴스라고 부릅니다.
하지만 둘다 클래스에서 나온 실체라는 핵심 의미는 같기 때문에 보통 둘을 구분하지 않고 사용합니다.
'IT관련 정보' 카테고리의 다른 글
Java 공부편 - 기본형과 참조형(2)_메서드 호출 (0) | 2024.02.08 |
---|---|
Java 공부편 - 기본형과 참조형(1) (0) | 2024.02.07 |
Java 공부편 - 클래스가 필요한 이유(1) (0) | 2024.01.16 |
Java 공부편 - 메서드 (0) | 2024.01.15 |
Java 공부편 - 2차원 배열 3편 (0) | 2024.01.04 |