1. 클래스(Class)란?
클래스는:
"객체를 만들기 위한 설계도"
라고 볼 수 있다.
예를 들면:
- 클래스 → 붕어빵 틀
- 객체 → 실제 붕어빵
같은 느낌이다.
자바에서는 객체를 만들 때 new 키워드를 사용한다.
그리고 객체를 만드는 과정을:
인스턴스화(객체화)
라고 표현한다.
클래스 생성 예시
package chapter2.clazz;
public class Person {
}
객체 생성
Person personA = new Person();
Person personB = new Person();
여기서:
- Person → 클래스 이름
- personA → 객체 변수 이름
- new Person() → 객체 생성
이다.
2. 클래스 구조
클래스는 크게 3가지 영역으로 구성된다.
class 클래스 {
// 1. 속성
// 2. 생성자
// 3. 기능
}
1) 속성(Field)
속성은 객체의 특징을 의미한다.
변수 선언으로 표현할 수 있다.
속성 예시
public class Person {
String name;
int age;
String address;
}
위 코드에서는:
- 이름
- 나이
- 주소
같은 특징을 속성으로 표현한 것이다.
객체마다 속성값은 다를 수 있다
Person personA = new Person();
Person personB = new Person();
personA.name = "채영";
personB.name = "나경";
객체는 같은 설계도로 만들었어도 서로 다른 값을 가질 수 있다.
즉:
- personA → 채영
- personB → 나경
처럼 각각 독립적인 데이터를 가진다.
2) 생성자(Constructor)
생성자는 객체를 만들 때 사용하는 특별한 메서드이다.
쉽게 말하면:
"객체 조립 설명서"
같은 느낌이다.
생성자의 특징
- 클래스 이름과 동일하다
- 반환 타입이 없다
- 여러 개 만들 수 있다
생성자 예시
public class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
this란?
this.name = name;
여기서 this는:
"현재 실행 중인 객체 자기 자신"
을 의미한다.
쉽게 말하면:
- 왼쪽 this.name → 객체의 속성
- 오른쪽 name → 전달받은 값
이다.
생성자로 객체 만들기
Person personA = new Person("채영", 20);
Person personB = new Person("나경", 20);
이제 객체를 생성할 때 이름과 나이를 함께 전달해야 한다.
즉:
생성자 규칙대로 객체를 조립해야 한다.
는 의미이다.
기본 생성자
Person() {}
생성자를 따로 만들지 않으면 자바가 기본 생성자를 자동으로 만들어준다.
하지만 직접 생성자를 만들면 기본 생성자는 사라진다.
3) 기능(Method)
기능은 메서드(Method)로 표현한다.
객체는 단순히 데이터만 저장하는 게 아니라 기능도 가질 수 있다.
기능 예시
int sum(int value1, int value2) {
int result = value1 + value2;
return result;
}
메서드 호출
int result1 = personA.sum(1, 2);
int result2 = personB.sum(2, 5);
객체를 통해 메서드를 사용할 수 있다.
즉:
객체의 기능을 사용하는 것
이라고 이해할 수 있다.
3. 게터(Getter)
게터는 객체의 속성 값을 가져오는 기능이다.
게터 예시
String getName() {
return this.name;
}
메서드 이름 앞에 get 을 붙이는 것은 개발자들 사이의 관례라고 한다.
게터 사용하기
String name = personA.getName();
System.out.println(name);
왜 게터를 사용할까?
직접 접근도 가능하다.
personA.name
하지만 게터를 사용하면:
- 데이터를 안전하게 관리할 수 있고
- 나중에 수정하기 쉬워지고
- 객체지향 구조를 유지하기 좋다
고 한다.
실무에서는 게터를 많이 사용한다고 한다.
4. 세터(Setter)
세터는 객체의 속성 값을 변경하는 기능이다.
세터 예시
void setAddress(String address) {
this.address = address;
}
세터 사용하기
personA.setAddress("부산");
게터 / 세터 정리
Getter
getName()
→ 값을 가져오기
Setter
setAddress()
→ 값을 변경하기
오늘 배운 점
클래스와 객체는 자바에서 가장 핵심적인 개념 중 하나라는 느낌이 들었다.
특히:
- 클래스 → 설계도
- 객체 → 실제 생성된 결과물
- 생성자 → 객체 조립 설명서
- 메서드 → 객체의 기능
이라는 흐름으로 이해하니까 조금 정리가 되기 시작했다 😊
'Java' 카테고리의 다른 글
| JAVA 기초 정리 - 래퍼 클래스(Wrapper Class) (0) | 2026.05.21 |
|---|---|
| JAVA 기초 정리 - JVM 메모리 영역 (0) | 2026.05.20 |
| JAVA 기초 정리 - 메서드(Method) (0) | 2026.05.18 |
| JAVA 기초 정리 - 배열(Array) (0) | 2026.05.15 |
| JAVA 기초 정리 - 반복문(Loop) (0) | 2026.05.14 |