메모리 구조와 설계의 관점

글 정보
카테고리Programming/Java/Starter
작성일2025-11-21
게시 여부true
seriesJava Starter
series-order2
제목메모리 구조와 설계의 관점

1. 객체(Object)란 무엇인가?

우리는 흔히 객체를 "현실 세계의 반영"이라고 하지만, 개발자 관점에서는 조금 더 구체적인 정의가 필요합니다.

2. 코드의 해부: 항, 식, 구문

코드를 작성할 때 이 세 가지 용어를 명확히 구분하면 문법 이해가 빨라집니다.

  1. 항 (Term): 연산의 대상이 되는 가장 기본적인 요소 (피연산자, 변수, 상수).
    • _예: xy10_
  2. 식 (Expression): 항들이 모여 연산 후 하나의 결과값(Value)을 만들어내는 단위.
    • _예: x + y (결과로 15 같은 값을 남김), function()_
  3. 구문 (Statement): 프로그램이 실행하는 완전한 하나의 명령 단위. 보통 세미콜론(;)으로 끝납니다.
    • _예: int sum = x + y;_

Java

// 예제 코드로 보는 차이
int x = 10; 
int y = 5;

// x, y, 10 : 항 (Term)
// x + y    : 식 (Expression) -> 값 15 반환
// int sum = x + y; : 구문 (Statement) -> 실행 단위

3. 작성자(Creator)와 사용자(User)를 구분하라

이 파트는 실무에서 가장 중요한 마인드셋입니다.

4. 메모리와 초기화 (Stack vs Heap)

필드 선언과 초기화는 JVM의 메모리 영역과 밀접한 관련이 있습니다.

5. 캡슐화와 접근 제어자 (Why Private?)

자바는 4가지 지시자(publicprotecteddefaultprivate)를 제공합니다. 실무에서는 기본적으로 private으로 시작하고, 필요에 따라 범위를 넓히는 전략이 유효합니다.

6. this의 정체: 런타임의 나침반

this는 단순한 키워드가 아니라, 메모리 주소를 가리키는 포인터와 같습니다.