이전 재구성 작업에서 Dev/ 폴더가 누락되었던 것을 반영.
- Dev/Topic_Programming(중첩 폴더, 78개)은 Dev 자체 최상위 폴더들
(Architecture/Conventions/Engineering_Intelligence 등)과 완전 중복이라 제거.
- Dev 최상위 엔지니어링 지식 폴더(Architecture/Conventions/Engineering_Intelligence/
Failure_Library/Generalized_Principles/Language/Pattern_Catalog/Platform_Guides/
Subsystems, 77개)는 이미 Topic_Programming/Topic_Programming에 더 최신 버전이
존재해 중복 제거(고유 콘텐츠 1개는 예외 처리하여 이동 보존).
- Dev의 W3Schools 언어 튜토리얼 폴더(Topic_C/CPP/CSS/CSharp/HOWTO/HTML/Java/
JavaScript/PHP/Python/SQL/W3CSS, 1201개)는 전부 Topic_Programming 하위로 이동.
- 에이전트 운영 상태(.astra/docs)는 그대로 유지, 콘텐츠 폴더만 정리.
- Topic_Programming 최종 문서 수: 2784 → 3985.
C# calls these "methods" and only parenthetically notes "also known as functions" — a terminology choice with real teeth, since the Syntax chapter's rule that ALL code must live inside a class means C# genuinely has no free-standing functions the way C++ does; every "function" is necessarily a method of SOME class (even Main() itself lives inside class Program), and the naming-convention split flagged back in the Identifiers chapter (variables lowercase-first) is completed here: methods are explicitly recommended to start UPPERCASE (MyMethod), giving C# a hard camelCase-vs-PascalCase split by identifier KIND that neither C nor C++ enforces as a style convention. [S1]
🧠 핵심 개념 (Core concepts)
Method — a block of code that only runs when called; used to perform actions and enable code reuse (define once, use many times). [S1]
static void MethodName() { ... } — the minimal method skeleton, defined inside a class. [S1]
static — means the method belongs to the CLASS itself, not to an object/instance of the class (object-based method access deferred to a later chapter). [S1]
void — means the method has no return value (deferred detail to the Return Values chapter). [S1]
PascalCase convention — method names should start with an UPPERCASE letter for readability, in contrast to the lowercase-starting convention recommended for variable names. [S1]
Calling a method — MethodName(); — same method can be called any number of times, each call re-executing the body independently. [S1]
📖 세부 내용 (Details)
Method definition: class Program { static void MyMethod() { // code to be executed } }. [S1]
Single call: static void Main(string[] args) { MyMethod(); } → outputs "I just got executed!". [S1]
Repeated calls: calling MyMethod(); three times in Main() prints the same message three times. [S1]
⚖️ 모순 및 업데이트 (Contradictions & updates)
C++와 달리 클래스 밖의 자유 함수가 존재하지 않음: Syntax 챕터에서 확인된 "모든 코드는 class 안에" 원칙 때문에, C#은 C++처럼 클래스 밖에 독립적으로 존재하는 자유 함수를 가질 수 없고 모든 함수가 반드시 어떤 class의 메서드라는 점이 확인됨 — Main() 자체도 Program 클래스 안에 있음. [S1]
변수는 소문자, 메서드는 대문자로 시작하는 명명 규칙 분리가 완성됨: Identifiers 챕터에서 예고했던 변수 lowercase 시작 관례에 이어, 이번 챕터는 메서드명을 uppercase로 시작하도록 명시적으로 권장한다는 점이 확인됨 — 식별자 종류(변수 vs 메서드)에 따라 대소문자 관례가 갈라지는 C#만의 스타일 규칙. [S1]
🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — "I just got executed!"를 출력하는 메서드를 정의하고 여러 번 호출하는 예제가 원문에서 제시됨. [S1]
💻 코드 패턴 (Code patterns)
Minimal method definition and repeated calls (C#):
staticvoidMyMethod(){Console.WriteLine("I just got executed!");}staticvoidMain(string[]args){MyMethod();MyMethod();MyMethod();}
✅ 검증 상태 및 신뢰도
상태: draft
검증 단계: conceptual
출처 신뢰도: B (W3Schools — widely used educational reference, not a primary standards body)