본문 바로가기
##JAVA

객체와 클래스

by 운중동토토로 2024. 7. 8.

자바(Java)에서 객체와 클래스는 객체지향 프로그래밍(OOP)의 핵심 개념입니다.

객체지향 프로그래밍은 데이터와 이 데이터를 처리하는 기능을 하나의 단위인 객체로 캡슐화하여 프로그램을 구성하는 방법론입니다.

### 클래스(Class)

클래스는 객체를 생성하기 위한 설계도 혹은 템플릿입니다. 자바에서 클래스는 다음과 같은 요소로 구성됩니다:

1. **속성 (Fields)**: 클래스가 가지는 데이터 변수들을 의미합니다. 이는 클래스의 상태를 나타냅니다.

2. **메소드 (Methods)**: 클래스가 제공하는 함수들로, 클래스의 행동을 정의합니다. 메소드는 클래스의 데이터를 조작하거나 특정 작업을 수행하는 데 사용됩니다.

3. **생성자 (Constructor)**: 클래스로부터 객체를 생성할 때 초기화를 담당하는 특별한 메소드입니다. 생성자는 클래스 이름과 동일하며, 객체 생성 시 자동으로 호출됩니다.

4. **소멸자 (Destructor)**: 자바에서는 명시적인 소멸자 정의가 없습니다. 자바 가상 머신(JVM)이 객체를 가비지 컬렉션(Garbage Collection)할 때 자동으로 호출됩니다.

자바에서 클래스는 다음과 같이 선언됩니다:



### 객체(Object)

객체는 클래스의 인스턴스(instance)입니다. 클래스를 기반으로 실제로 메모리에 할당된 데이터를 가지고 있으며, 이 데이터는 클래스에서 정의된 속성의 값을 가질 수 있습니다. 객체는 다음과 같은 특징을 가집니다:

1. **고유성**: 각 객체는 자신만의 고유한 상태를 가지며, 다른 객체와 독립적으로 존재합니다.
   
2. **상태(State)**: 객체는 클래스에서 정의한 속성(필드)을 가집니다. 이 상태는 객체가 생성될 때 초기화되고, 메소드에 의해 변경될 수 있습니다.
   
3. **행동(Behavior)**: 객체는 클래스에서 정의한 메소드를 통해 특정 작업을 수행할 수 있습니다. 이는 객체의 상태를 변경하거나 특정 계산을 수행하는 등의 동작을 포함합니다.

자바에서 객체는 다음과 같이 생성하고 사용할 수 있습니다:


위 예제에서 `new Car("Toyota", "Corolla", 2023)`는 `Car` 클래스의 객체를 생성하고, 이를 `myCar`라는 변수에 할당하는 과정입니다. 객체지향 프로그래밍에서는 클래스를 사용하여 객체를 생성하고, 각 객체가 가진 상태와 행동에 따라 프로그램을 구성합니다.

'##JAVA' 카테고리의 다른 글

객체지향프로그램의 4요소 : 다형성  (0) 2024.07.08
클래스와 다이어그램  (0) 2024.07.08
참조변수와 일반변수  (0) 2024.06.24
자바 장점과 단점  (0) 2024.06.17
자바의 특성  (0) 2024.06.17