⏳ Time Log/1. One Day (Daily · TIL)

Day 12 (11/5) - Java 클래스 심화 학습

this.Serena 2026. 2. 19. 00:00

📝 오늘의 강의 요약

핵심 키워드: JVM 메모리 구조, 메서드/힙/스택 영역, 추상 클래스와 인터페이스 실습, 웹 접근성

  • Java: JVM의 주요 메모리 영역인 메서드, 힙, 스택의 특징 및 데이터 저장 방식 이해
  • Java: 상속 관계에서의 오버라이딩(Vehicle, Animal) 실습 및 추상화 개념 적용
  • HTML: 시각적 요소는 숨기되 스크린 리더는 읽을 수 있는 웹 접근성 기법(sr-only) 파악

⚙️ JVM 자바 가상 머신 메모리 구조

영역 저장 내용 생성/소멸 시점 특징
메서드(Method) 영역 클래스 정보, 정적(static) 멤버, 메서드 코드 프로그램 시작 시 생성 / 종료 시 소멸 모든 스레드가 공유하는 영역
힙(Heap) 영역 생성된 객체 및 배열 (실제 데이터) new 호출 시 생성 / 참조 해제 시 GC가 수거 런타임에 동적으로 할당되는 공간
스택(Stack) 영역 지역 변수, 매개변수, 참조 변수(주소값) 메서드 호출 시 생성 / 종료 시 소멸 LIFO 구조로 각 스레드별 별도 생성

🏗️ 상속 및 추상화 실습 정리

1. 상속과 오버라이딩 (Inheritance & Overriding)

  • Vehicle > Car: 부모의 기능을 물려받아 자동차 특유의 주행 방식으로 재정의
  • Animal > Cat, Dog: 공통 속성은 상속받되, 울음소리 등 개별 동작은 각자 구현

2. 추상 클래스 vs 인터페이스 실습

  • 추상 클래스 (abstract): '동물'처럼 실체는 없으나 공통적인 특성을 강제할 때 사용
  • 인터페이스 (interface): '날 수 있는', '수영할 수 있는' 등 특정 기능을 계약 형태로 부여할 때 사용

🌐 HTML 웹 접근성 고려사항

📌 .sr-only 클래스 활용

  • 목적: 화면에는 보이지 않지만, 스크린 리더(Screen Reader)를 사용하는 사용자를 위해 텍스트 정보 제공
  • 주요 사용처: 아이콘만 있는 버튼에 설명을 추가하거나, 생략된 제목을 보충할 때 활용
  • 적용 방식: width: 1px; height: 1px; clip: rect(0 0 0 0); 등의 CSS 스타일을 통해 시각적 요소 제거

📅 향후 학습 로드맵

  • 목요일: 예외 처리 (Exception Handling) - 프로그램 안정성 확보
  • 금요일: 제네릭 (Generics) - 타입 안정성 및 코드 재사용성 극대화
  • 다음 주: JSP (Java Server Pages) - 본격적인 웹 프로그래밍 시작