반응형
Intro
안녕하세요. 플리체입니다.
Java를 공부하면서 정말 다양한 용어들을 만나게 되는데, 개인적으로 개념적인 부분이 정리가 안되었던 주제에 대해서 설명드리려 합니다.
Java의 클래스(Class), 객체(Object), 인스턴스(Instance)와 그 차이점에 대해 말씀드리겠습니다.
1. 클래스(Class)
- 클래스는 객체를 생성하기 위한 설계도 또는 템플릿입니다.
- 클래스는 객체의 속성(멤버 변수)과 동작(메소드)을 정의합니다.
- 클래스는 실체화되지 않은 추상적인 개념으로, 객체를 생성하기 위해 사용됩니다.
- 여러 객체를 생성할 수 있으며, 클래스를 기반으로 생성된 객체들은 동일한 속성과 동작을 가집니다.
class Person {
String name;
int age;
void sayHello() {
System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
}
}
예를 들어, "Person" 클래스는 사람의 속성과 동작을 정의하는데 사용될 수 있습니다. 이 클래스는 사람의 이름, 나이 등과 같은 속성을 가지며, 사람이 인사를 할 수 있는 동작을 정의할 수 있습니다.
2. 객체(Object)
- 객체는 클래스의 인스턴스입니다.
- 클래스를 기반으로 생성된 실체로, 메모리에 할당되어 사용됩니다.
- 객체는 클래스의 속성(멤버 변수)과 동작(메소드)을 가지고 있습니다.
- 객체는 클래스의 특정한 인스턴스를 나타내며, 클래스에서 정의된 속성에 대한 실제 값이 할당되어 있습니다.
예를 들어, "Person" 클래스의 객체를 생성하면 실제 사람 개체가 만들어집니다. 이 객체는 클래스에서 정의된 속성인 이름과 나이에 대한 실제 값을 가지게 됩니다.
Person person = new Person(); // "Person" 클래스의 객체 생성
person.name = "John"; // 객체의 속성 값 설정
person.age = 30;
person.sayHello(); // 객체의 동작 실행
위의 예제에서 person은 "Person" 클래스의 객체입니다. 객체를 생성할 때 new 키워드를 사용하여 클래스를 인스턴스화하고, 이를 변수에 할당함으로써 객체를 참조할 수 있습니다. 그 후에는 객체의 속성에 접근하여 값을 설정하거나, 객체의 동작을 실행할 수 있습니다.
3. 인스턴스(Instance)
- 인스턴스는 클래스로부터 생성된 객체를 가리키는 용어입니다.
- 클래스는 객체를 생성하기 위한 템플릿이며, 인스턴스는 그 템플릿을 통해 실제로 생성된 객체를 가리킵니다.
- 즉, 클래스의 인스턴스화 과정을 통해 객체가 생성되고, 해당 객체를 인스턴스라고 합니다.
예를 들어, "Person" 클래스를 인스턴스화하여 객체를 생성하는 과정은 다음과 같습니다.
Person person = new Person(); // "Person" 클래스의 인스턴스 생성
위의 코드에서 new Person()은 "Person" 클래스를 인스턴스화하여 실제로 메모리에 할당된 객체를 생성합니다. 그리고 이 객체를 person이라는 변수로 참조하게 됩니다.
정리
따라서, 자바에서 클래스는 객체를 생성하기 위한 설계도 또는 템플릿이며, 객체는 클래스의 인스턴스로 실체화된 것을 의미합니다. 인스턴스는 클래스를 통해 생성된 실제 객체를 가리키는 용어입니다.
반응형
'Language > Java' 카테고리의 다른 글
[Java] 자바에서 Cookie 사용법(생성,조회,수정,삭제) (0) | 2023.05.23 |
---|---|
[Java] public, private, protected 접근 제어자란? (0) | 2023.05.17 |
[Java] Try-Catch 사용법(예제 포함) 및 주의점 (0) | 2023.05.16 |
[Java] BufferedReader와 BufferedWriter 간단 예제 (0) | 2023.05.09 |
[Java] Socket 통신 간단 예제 (0) | 2023.05.08 |