TIL - 20250626

juni·2025년 6월 26일

TIL

목록 보기
48/316

📘 0626 자바 학습 정리

1. 클래스와 객체

Vehicle 클래스 예시

  • Vehicle 클래스는 자동차를 모델링한 설계도.
  • 필드: 회사명, 모델명, 속도, 연료량, 시동상태, 소유자(Owner 객체).
  • 생성자: 회사명과 모델명을 초기화.
  • 메서드:
    • powerOn(), powerOff(): 시동 켜기/끄기
    • accelerate(): 속도 증가
    • info(): 차량 정보 출력

Owner 클래스

  • 자동차 주인의 이름과 등록일을 관리하는 객체.
  • LocalDate 타입을 사용.

VehicleMain 클래스

  • Vehicle 객체 생성 및 메서드 호출 테스트.
  • 객체 주소 출력으로 참조 확인 가능.

2. 문자열 비교

StringCompare 클래스

  • 문자열 리터럴과 new 키워드로 생성한 문자열 비교.
  • ==는 주소값 비교, .equals()는 값 비교.
  • 사용자 입력을 받아 문자열 비교 예제 포함.

3. 배열과 유사 구조: 커스텀 StringList

StringList 클래스

  • 문자열 배열을 다루기 위한 커스텀 클래스.
  • 주요 메서드:
    • push(): 요소 추가
    • pop(): 마지막 요소 제거
    • insert(), modify(), remove() 등 다양한 배열 조작 기능
    • include(), indexOf() 등 검색 기능 포함
  • 내부적으로 copy() 메서드를 통해 배열 크기 조절

ListMain 클래스

  • StringList 객체 테스트
  • 음식 리스트와 유저 이름 리스트 조작

4. 패키지와 클래스 이름 충돌 해결

Main 클래스

  • 동일 클래스명이 다른 패키지(cake, juice)에 존재하는 상황 처리
  • import를 활용하여 클래스 구분 사용

패키지 클래스

  • chap1_4.cake.Apple, chap1_4.juice.Apple: 다른 의미의 Apple 객체

5. Player 클래스와 메서드

Player 클래스

  • 게임 캐릭터를 모델링한 클래스
  • 필드: 닉네임, 레벨, 체력
  • 메서드: 다른 Player를 공격 (attack())
    • 공격자 체력 -5, 대상 체력 -10
    • 자기 자신 공격 불가 조건 포함

Main 클래스

  • 두 Player 객체 생성 후 공격 예제 실행

6. 생성자 오버로딩: Book 클래스

Book 클래스

  • 생성자 오버로딩을 통해 다양한 방식으로 Book 객체 생성 가능
    • (제목, 저자, 연도)
    • (제목만) → 기본값 설정
    • (저자, 제목) → 연도 기본값 설정
  • toString() 오버라이딩으로 정보 출력 형식 지정

Main 클래스

  • Book 객체 생성 테스트
  • 각 생성자가 호출될 때 로그 출력

✅ 요약

  • 객체 지향의 기본 구조 (클래스, 필드, 생성자, 메서드)
  • 참조형 타입의 비교법 (==, equals)
  • 배열 유사 구조 만들기 (StringList)
  • 패키지를 통한 클래스 이름 구분
  • 생성자 오버로딩으로 다양한 객체 초기화 방식 학습

0개의 댓글