1. 클래스(Class)와 객체(Object)
클래스란?
- 클래스는 객체를 만들어내기 위한 설계도 또는 틀입니다. 클래스는 속성(state)과 행동(behavior)을 정의합니다.
- 속성은 필드(Field)로, 행동은 메소드(Method)로 표현됩니다.
객체란?
- 객체는 클래스에서 만들어진 실체로, 프로그램 실행 중에 메모리 공간을 차지하는 구체적인 존재입니다.
- 객체는 클래스의 인스턴스라고도 불리며, 클래스의 구조에 따라 만들어진 데이터를 메모리에 올린 상태입니다.
예시 코드
class Car {
String brand;
int speed;
void accelerate() {
speed += 10;
}
}
public class Main {
public static void main(String[] args) {
Car myCar = new Car(); // Car 객체 생성
myCar.brand = "BMW"; // 필드 값 설정
myCar.accelerate(); // 메소드 호출
System.out.println(myCar.speed); // 10 출력
}
}
2. 객체지향의 구성 요소
1) 필드(Field)
- 객체의 속성을 나타내며, 클래스 내부에 정의된 변수입니다.
- 객체가 가지고 있는 고유한 데이터를 저장합니다.
2) 메소드(Method)
- 객체가 할 수 있는 행동을 정의한 함수입니다.
- 클래스의 내부에 선언되어, 해당 클래스의 객체에서 동작합니다.
3. 인스턴스(Instance)
- 인스턴스는 클래스를 바탕으로 생성된 구체적인 객체를 의미합니다. 객체를 생성하면 그 객체를 인스턴스라고 부를 수 있습니다.
- 즉, 객체는 클래스의 실체이며, 프로그램 실행 중에 생성되는 구체적인 데이터입니다.
4. 메소드의 가변인자 처리
가변인자(Variable Arguments)란?
메소드에 매개변수를 동적으로 처리할 수 있도록 하는 기능입니다. 전달하는 인자의 개수를 유연하게 관리할 수 있으며, 가변인자는 배열처럼 동작합니다.
사용 방법
public void exampleMethod(String... strings) {
for (String s : strings) {
System.out.println(s);
}
}
- String... strings
로 선언하면, 여러 개의
String`을 가변적으로 전달받을 수 있습니다.
사용 예시
exampleMethod("apple", "banana", "cherry"); // 여러 개의 인자 전달
exampleMethod("one"); // 한 개의 인자 전달
exampleMethod(); // 인자 없이 호출
결과
apple
banana
cherry
one
정리
이번에는 클래스와 객체에 대해 살펴보았으며, 자바에서 객체를 어떻게 정의하고 사용할 수 있는지, 그리고 메소드의 가변인자 처리 방법을 알아보았습니다. 가변인자를 사용하면 다양한 개수의 매개변수를 간편하게 처리할 수 있어 유연한 메소드 구현이 가능합니다.
'JAVA' 카테고리의 다른 글
(JAVA) 기본형 & 참조형 매개변수, 인스턴스 멤버와 클래스 멤버 (0) | 2024.09.20 |
---|---|
(JAVA) 예외처리 자세히 알아보기 2 (0) | 2024.09.19 |
(JAVA) 자료구조를 활용한 요리 레시피 메모장 만들기 (0) | 2024.09.14 |
(JAVA) 컬렉션 프레임워크 정리하기 (0) | 2024.09.14 |
(JAVA) 배열 및 컬렉션 정리 (0) | 2024.09.14 |