---
id: java-class-attributes
title: "Java Class Attributes"
category: "Programming_Language"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["fields", "자바 클래스 속성"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.9
created_at: 2026-07-04
updated_at: 2026-07-04
review_reason: ""
merge_history: []
tags: ["java", "programming", "w3schools", "oop", "attributes"]
raw_sources: ["https://www.w3schools.com/java/java_class_attributes.asp"]
applied_in: []
github_commit: ""
---

# [[Java Class Attributes]]

## 🎯 한 줄 통찰 (One-line insight)
Attributes on separate object instances are fully independent — changing `myObj2.x` to 25 leaves `myObj1.x` at its original 5, demonstrating that each object carries its own copy of non-static attribute state rather than sharing it. [S1]

## 🧠 핵심 개념 (Core concepts)
- **Attribute** — a variable declared inside a class; also called a "field". [S1]
- **Dot syntax access** — `myObj.x` reads or writes an attribute via an object reference. [S1]
- **Mutation vs. override** — assigning a new value to an uninitialized field vs. changing an already-initialized field, functionally the same mechanism. [S1]
- **`final`** — prevents overriding an attribute's value after initialization; introduced here as a preview of the Modifiers chapter. [S1]
- **Per-object independence** — each object's attributes are separate; modifying one instance doesn't affect another. [S1]

## 📖 세부 내용 (Details)
- Access: `Main myObj = new Main(); System.out.println(myObj.x);`. [S1]
- Modify: `myObj.x = 40;`. [S1]
- Final (immutable) attribute: `final int x = 10; ... myObj.x = 25; // Error: cannot assign a value to a final variable`. [S1]
- Independent instances: `myObj2.x = 25; System.out.println(myObj1.x); // 5 (unchanged) System.out.println(myObj2.x); // 25`. [S1]
- Multiple attributes: `String fname = "John"; String lname = "Doe"; int age = 24;`. [S1]

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
소스에서 모순되는 정보는 발견되지 않음.

## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — final 키워드로 PI(3.14159...)처럼 불변 상수를 표현하는 예시가 실전 적용의 대표 사례다. [S1]

## 💻 코드 패턴 (Code patterns)
Independent attribute state across objects (Java):
```java
Main myObj1 = new Main(); // Object 1
Main myObj2 = new Main(); // Object 2
myObj2.x = 25;
System.out.println(myObj1.x); // Outputs 5
System.out.println(myObj2.x); // Outputs 25
```

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.90
- **중복 검사 결과:** 신규 생성 (New discovery)

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[Java Tutorial]]
- **관련 개념:** [[Java Classes]], [[Java Class Methods]], [[Java Modifiers]], [[Java Constants Final]]
- **참조 맥락:** 클래스 변수(필드)의 접근/수정 — final 키워드는 Modifiers 챕터에서 심화.

## 📚 출처 (Sources)
- [S1] W3Schools — Java Class Attributes — https://www.w3schools.com/java/java_class_attributes.asp

## 📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "Java Class Attributes" page (Astra wiki-curation, P-Reinforce v3.1 format).
