기본 패턴
java
public class User {
private String name;
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
}설명
- 클래스는 객체를 만들기 위한 설계도이고, 객체는 그 설계도로 만든 실제 인스턴스입니다. Java는 이 모델을 중심으로 언어 전체가 조직되어 있다고 봐도 됩니다.
- field는 객체가 가진 상태를 나타내고, method는 객체가 할 수 있는 동작을 나타냅니다. constructor는 객체가 처음 만들어질 때 필요한 초기화 규칙을 담당합니다.
this는 현재 인스턴스를 가리키며, field와 매개변수 이름이 겹칠 때 특히 중요합니다. 생성자에서this.name = name;같은 코드가 자주 등장하는 이유입니다.- Java 객체지향은 단순히 클래스를 만드는 법보다 "상태와 동작을 어떤 경계 안에 모을 것인가"를 생각하게 합니다. 이 감각이 이후 상속, 인터페이스, 캡슐화로 이어집니다.
- 입문 단계에서는 "클래스 하나 = 파일 하나"와 "객체는 new로 만든다" 정도에서 시작해도 충분하지만, 나중에는 역할 분리와 책임 설계가 더 중요해집니다.
빠른 정리
| 요소 | 역할 |
|---|---|
| class | 객체 설계도 |
| object | 실제 인스턴스 |
| field | 상태 |
| method | 동작 |
| constructor | 생성 시 초기화 규칙 |
주의할 점
객체지향을 "필드와 메서드를 한 파일에 모으는 문법" 정도로만 이해하면 이후 상속과 인터페이스가 왜 필요한지 감이 잘 안 옵니다. 상태와 동작을 어떤 단위로 묶을지 계속 고민하는 습관이 중요합니다.
참고 링크
2 sources