java - 클래스

잠자는 고양이·2025년 5월 7일
0

Java

목록 보기
45/73

🧱 클래스가 필요한 이유

  • ✅ 데이터 관리의 효율성
  • 🔁 코드의 재사용성
  • 🔐 데이터 보호 (캡슐화)
  • 🧭 코드의 구조화

📊 데이터 관리의 효율성

  • 관련된 데이터를 하나의 단위로 관리
  • 여러 데이터를 체계적으로 구조화
  • 데이터 접근 및 수정이 용이

🔁 코드의 재사용성

  • 한 번 작성한 클래스는 재사용 가능
  • 중복 코드 감소로 유지보수 효율 증가
  • 개발 시간 단축 가능

🔐 데이터 보호 (캡슐화)

  • 외부로부터 데이터를 보호
  • 접근 제한을 통해 잘못된 값 설정 방지
  • 정보 은닉 구현 가능

🧭 코드의 구조화

  • 연관된 데이터와 기능을 하나의 책임으로 묶음
  • 클래스 없이 코드는 뒤섞이고 유지보수 어려움

🔑 접근 제어자 종류

접근 제어자접근 범위
public모든 클래스에서 접근 가능
default같은 패키지 내에서만 접근 가능
private클래스 내부에서만 접근 가능 (사용 제한)
protected상속 관계 또는 같은 패키지에서 접근 가능 (클래스에 직접 사용 불가)

🏗 클래스의 기본 구조

  1. 필드

    • 클래스의 데이터 저장 공간
    • 객체의 상태/특징을 변수로 정의
  2. 생성자

    • 객체 생성 시 초기화 담당
    • 클래스 이름과 동일
  3. 메소드

    • 객체의 기능/행동 정의
    • 객체가 할 수 있는 동작 구현

🧮 클래스의 변수

  1. 인스턴스 변수

    • 객체마다 고유한 값 보유
    • 객체 생성 시 사용
    • 예시: 이름, 나이, 학번
  2. static 변수 (클래스 변수)

    • 모든 객체가 공유
    • 객체 생성 없이 사용 가능
    • 예시: 전체 학생 수, 은행 이자율
  3. 상수 (final)

    • 한 번 정하면 변경 불가
    • 보통 static과 함께 사용
    • 예시: 원주율, 최대 인원수

🔨 클래스의 생성자

  1. 생성자

    • 객체 생성 시 자동 호출
    • 클래스명과 동일
  2. 기본 생성자

    • 생성자를 작성하지 않으면 컴파일러가 자동 생성
  3. 매개변수가 있는 생성자

    • 객체 생성 시 초기값을 전달받아 사용

🧰 클래스의 메소드

  1. 인스턴스 메소드

    • 객체 생성 후 사용
    • 예시: 정보 출력, 입출금
  2. static 메소드

    • 객체 생성 없이 클래스명으로 호출
    • 인스턴스 변수 사용 불가
    • 예시: 수학 계산, 유틸리티 기능

🧬 객체 생성

new 연산자란?

  • 객체를 생성하고 힙(Heap) 메모리에 저장
  • 생성자 호출하여 객체 초기화
  • 생성된 객체의 주소를 참조 변수에 저장

생성된 객체의 특징

  • 각 객체는 독립적인 메모리 공간을 가짐
  • 같은 클래스로 만들어도 서로 독립적
  • 사용되지 않는 객체는 가비지 컬렉터에 의해 메모리에서 제거
profile
개발자가 되고 싶은 잠자는고양이

0개의 댓글