9a135bd19d
최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치. 콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서 전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한 업데이트0615/무제 3.canvas 뿐).
3.8 KiB
3.8 KiB
id, title, category, status, verification_status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, created_at, updated_at, review_reason, merge_history, tags, raw_sources, applied_in, github_commit
| id | title | category | status | verification_status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | created_at | updated_at | review_reason | merge_history | tags | raw_sources | applied_in | github_commit | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| java-interface | Java Interface | Programming_Language | draft | conceptual |
|
B | 0.9 | 2026-07-04 | 2026-07-04 |
|
|
Java Interface
🎯 한 줄 통찰 (One-line insight)
Interfaces exist specifically to work around Java's single-inheritance limitation — a class can only extends one superclass, but it can implements multiple interfaces (comma-separated), making interfaces Java's mechanism for something resembling multiple inheritance. [S1]
🧠 핵심 개념 (Core concepts)
- Interface — a fully "abstract class" grouping related methods that all lack bodies. [S1]
implements— the keyword a class uses to adopt an interface (vs.extendsfor classes). [S1]- Mandatory override — implementing a class MUST override every method the interface declares. [S1]
- Implicit modifiers — interface methods are
abstract+publicby default; interface attributes arepublic,static,finalby default. [S1] - No constructor — interfaces cannot have constructors (can't be instantiated). [S1]
- Multiple interfaces — a class can implement several interfaces, separated by commas — Java's substitute for multiple inheritance. [S1]
📖 세부 내용 (Details)
- Interface declaration:
interface Animal { public void animalSound(); public void run(); }. [S1] - Implementation:
class Pig implements Animal { public void animalSound() { System.out.println("The pig says: wee wee"); } public void sleep() { System.out.println("Zzz"); } }. [S1] - Multiple interfaces:
class DemoClass implements FirstInterface, SecondInterface { public void myMethod() {...} public void myOtherMethod() {...} }. [S1]
⚖️ 모순 및 업데이트 (Contradictions & updates)
- 다중 상속 대안: Java는 클래스의 다중 상속을 지원하지 않지만, 인터페이스 다중 구현으로 유사 효과를 달성한다는 점이 명시됨. [S1]
🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — 여러 인터페이스를 한 클래스가 동시에 구현하는 패턴이 다중 상속의 대체 수단으로 쓰인다. [S1]
💻 코드 패턴 (Code patterns)
Class implementing multiple interfaces (Java):
interface FirstInterface {
public void myMethod();
}
interface SecondInterface {
public void myOtherMethod();
}
class DemoClass implements FirstInterface, SecondInterface {
public void myMethod() {
System.out.println("Some text..");
}
public void myOtherMethod() {
System.out.println("Some other text...");
}
}
✅ 검증 상태 및 신뢰도
- 상태: draft
- 검증 단계: conceptual
- 출처 신뢰도: B (W3Schools — widely used educational reference, not a primary standards body)
- 신뢰 점수: 0.90
- 중복 검사 결과: 신규 생성 (New discovery)
🔗 지식 그래프 (Knowledge Graph)
- 상위/루트: Java Tutorial
- 관련 개념: Java Abstraction, Java Anonymous, Java Enums
- 참조 맥락: 다중 상속의 대안 — 익명 클래스 챕터에서 인터페이스를 즉석 구현하는 방법으로 이어짐.
📚 출처 (Sources)
- [S1] W3Schools — Java Interface — https://www.w3schools.com/java/java_interface.asp
📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "Java Interface" page (Astra wiki-curation, P-Reinforce v3.1 format).