클래스(Class)
Class는 객체 지향 프로그래밍에서 가장 중요한 요소 중 하나로, 객체를 생성하기 위한 템플릿이라고 할 수 있습니다.
1. Class의 개념
Class는 객체의 설계도 또는 틀로, 해당 객체의 속성(attribute)과 동작(behavior)을 정의합니다. 예를 들어, 자동차를 생각해보면, 자동차의 속성은 색상, 모델, 속도 등이 있고, 동작은 가속, 감속, 정지 등이 있을 것입니다. 이러한 속성과 동작을 정의한 것이 자동차의 Class입니다.
2. Class의 구성 요소
Class는 일반적으로 다음과 같은 구성 요소로 이루어집니다.
- 속성(Fields)
- 메서드(Methods)
- 생성자(Constructor)
(Java) 12. 자바의 생성자(Constructor)
- 내부 클래스(Inner Class)
(Java) 14. 자바의 내부 클래스(Inner Class)
3. Class의 활용
Class는 객체를 생성하기 위한 템플릿이므로, 실제로 객체를 생성하여 사용해야 합니다.
이때 Class를 통해 생성된 객체를 '인스턴스(Instance)'라고 합니다.
예를 들어, 자동차 Class로부터 생성된 인스턴스는 실제로 도로에서 주행하는 자동차를 의미합니다.
자바에서는 Class를 정의하고 객체를 생성하는 과정을 거쳐 사용합니다.
Class를 정의하기 위해서는 클래스 이름, 필드, 메서드 등을 정의해야 하며,
이를 통해 객체를 생성하고 사용할 수 있습니다.
4. 상속과 다형성
Class의 또 다른 중요한 특징은 '상속(Inheritance)'과 '다형성(Polymorphism)'입니다.
상속은 한 클래스가 다른 클래스의 속성과 메서드를 상속받아 사용할 수 있는 기능으로, 코드의 재사용성과 구조화를 위해 많이 활용됩니다.
다형성은 한 객체가 여러 가지 형태로 동작할 수 있는 능력을 의미하며, 객체지향 프로그래밍의 핵심 개념 중 하나입니다.
5. 예제 코드
// 자동차 클래스 예제
public class Car {
// 속성(필드)
String color;
String model;
int speed;
// 생성자
public Car(String color, String model) {
this.color = color;
this.model = model;
this.speed = 0;
}
// 메서드
public void accelerate(int amount) {
speed += amount;
}
public void brake() {
speed = 0;
}
public void printStatus() {
System.out.println("Color: " + color);
System.out.println("Model: " + model);
System.out.println("Speed: " + speed);
}
// 실행 예제
public static void main(String[] args) {
Car myCar = new Car("Red", "Sedan");
myCar.accelerate(50);
myCar.printStatus();
myCar.brake();
myCar.printStatus();
}
}
위 예제 코드는 자동차를 나타내는 Car Class를 정의하고 사용하는 예제입니다.
Car Class에는 color, model, speed라는 속성과 accelerate, brake, printStatus라는 메서드가 포함되어 있습니다.
main 메서드에서는 Car Class를 통해 객체를 생성하고, 메서드를 호출하여 자동차의 상태를 출력합니다.
이처럼 Class는 객체 지향 프로그래밍의 핵심이며, 자바에서 객체를 생성하고 사용하는 데 중요한 역할을 합니다.
잘못된 정보는 댓글로 알려주시면 감사하겠습니다.
'Java' 카테고리의 다른 글
Java - 17. 자바의 import문 (0) | 2023.07.19 |
---|---|
Java - 16. 자바에서의 null이란? (0) | 2023.07.18 |
Java - 14. 자바의 내부 클래스(Inner Class) - 클래스 안에 클래스 (0) | 2023.07.16 |
Java - 13. 자바의 속성(Fields) - 객체의 상태를 표현하는 데이터 저장 공간 (0) | 2023.07.15 |
Java - 12. 자바의 생성자(Constructor) - 객체 초기화 (0) | 2023.07.14 |