Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

ki-sd 님의 블로그

[2026-03-18] 객체 지향 프로그래밍(OOP)의 기초 아키텍처 본문

JavaStudy

[2026-03-18] 객체 지향 프로그래밍(OOP)의 기초 아키텍처

ki-sd 2026. 4. 13. 17:44

데이터와 기능을 하나의 캡슐로 묶어 관리하는 객체 지향 프로그래밍(Object-Oriented Programming)의 세계로 본격 진입했다.

 

1. 클래스(Class)와 인스턴스(Instance)

  • 클래스: 특정 사물이나 시스템의 속성(변수)과 동작(메서드)을 추상화하여 정의한 '설계도' 또는 '틀'이다.
  • 객체(인스턴스): 클래스라는 설계도를 바탕으로 메모리의 힙(Heap) 영역에 실체화된 데이터 덩어리다.
  • 프로그램을 수많은 독립적인 객체들의 상호작용으로 바라보는 패러다임의 전환을 경험했다.

2. 변수의 종류와 초기화 메커니즘

  • 클래스 내부에서의 선언 위치와 static 여부에 따라 변수의 성격이 완전히 달라진다.
  • 지역 변수(Local Variable): 메서드 안에서 선언되며 스택에 저장된다. 사용하기 전 반드시 개발자가 직접 초기화해야 한다.
  • 멤버 변수(필드):
    • 인스턴스 변수: 객체 생성 시 힙 영역에 할당되며, 별도로 초기화하지 않아도 타입에 따른 기본값(정수형은 0, 참조형은 null 등)으로 자동 초기화된다.
    • 클래스 변수(static): 클래스 로드 시 메서드 영역에 할당되며, 역시 기본값으로 자동 초기화된다.
  • 이러한 변수들의 생명주기(Lifecycle)와 메모리 할당 시점을 정확히 통제하는 것이 견고한 클래스 설계의 기초임을 확인했다.