2025년 7월 7일 월요일(29일차)

Jeonghoon·2025년 7월 7일

jeonghoon's Study

목록 보기
31/128

🧠 Java 복습 정리 (배열 · 객체 · 클래스)


📦 [ 배열 (Array) ]

항목설명
📘 정의동일한 자료형 데이터를 순서대로 저장하는 자료형
⚙️ 특징1️⃣ 동일한 자료형만 저장 가능
2️⃣ 고정 길이 구조 (추가/삭제 불가)
3️⃣ 요소의 초기값 자동 배정
4️⃣ 인덱스는 0부터 시작

💡 기본값

자료형기본값
정수형0
실수형0.0
논리형false
참조형(배열/객체 등)null

🧱 [ 배열 사용법 ]

구분예시설명
선언/생성 (방법 1)int[] arr = new int[3];int형 길이 3인 배열 생성
선언/생성 (방법 2)double[] nums = {3.14, 5.1, 5.8};초기값을 지정하며 생성
호출 (1)arr배열의 주소값 반환
호출 (2)Arrays.toString(arr)배열 내 요소를 문자열로 변환
호출 (3)arr[index]index번째 요소 반환
호출 (4)arr.length배열 길이 반환
수정 (1)arr = new int[5];배열 전체 초기화
수정 (2)arr[1] = 10;특정 인덱스의 값 수정
추가/삭제❌ 불가능고정 길이 구조로 중간 수정 불가

💬 배열에 요소를 추가하려면 새로운 배열을 생성 후 복사해야 함.


🔁 [ for문 복습 ]

// 일반 for문 (인덱스 사용)
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

// 향상된 for문 (값만 사용)
for (int value : arr) {
    System.out.println(value);
}

🧍‍♂️ [ 객체 (Object) ]

항목설명
📘 정의'주체'가 아닌, 행위나 의사를 받는 대상
💡 종류물리적 객체(사람, 안경) / 논리적 객체(주문, 수강 등)
🧠 객체지향 프로그래밍 (OOP)개발자가 프로그램 내에서 객체를 정의하고 상호작용하는 방식

🧱 [ 객체 생성 및 활용 ]

구분예시설명
객체 생성 (방법 1)new 클래스명();익명 객체 생성
객체 생성 (방법 2)클래스명 변수명 = new 클래스명();일반적인 객체 생성 방식
멤버변수 접근객체명.변수명;접근 연산자 . 사용
멤버변수 수정객체명.변수명 = 새로운값;멤버변수 값 변경
멤버변수 추가/삭제❌ 불가능클래스 구조는 컴파일 후 변경 불가

⚙️ new : 메모리에 객체를 생성하고 주소값을 반환하는 키워드


🏗️ [ 클래스 (Class) ]

항목설명
📘 정의객체를 만들기 위한 설계도
⚙️ 구성요소1️⃣ 멤버변수 (속성)
2️⃣ 메소드 (기능)
3️⃣ 생성자 (초기화 함수)
💡 표현속성 = 특징(멤버변수), 기능 = 행위(메소드)

🧩 [ 클래스 작성법 ]

class 클래스명 {
    // 멤버변수 (속성)
    타입 변수명;

    // 메소드 (기능)
    void 메소드명() {
        실행코드;
    }
}

📄 Tip

  • .java 파일 내에는 보통 클래스 1개만 작성 권장
  • 실행용 클래스(main 포함)와 설계용 클래스는 분리

🧩 [ 클래스의 종류 ]

구분설명
실행 클래스main() 함수를 포함하는 클래스 (프로그램 시작점)
설계 클래스객체 생성용 설계 클래스 (main 없음)

🎓 [ 클래스 예시 - 학생 클래스 만들기 ]

1️⃣ 클래스 정의

class Student {
    int studentId;
    String name;
    String phone;

    void study() {}
    void eat() {}
    void attend() {}
}

2️⃣ 객체 생성

Student s1 = new Student();

3️⃣ 객체 활용

s1.studentId = 101;
s1.name = "홍길동";
System.out.println(s1.name); // 출력: 홍길동

⚠️ [ 유의할 점 ]

번호내용
1️⃣주석을 잘 달자! → 협업 시 코드 이해도 향상
2️⃣자바에서 객체를 생성하기 위해서는 반드시 클래스가 필요
3️⃣클래스는 프로그램 구조의 핵심 단위
4️⃣멤버변수와 메소드의 역할을 구분하자

핵심 요약

  • 배열 : 동일 타입, 고정 길이, 인덱스 기반 접근
  • 객체 : 클래스의 실체, 속성과 기능 보유
  • 클래스 : 설계도 역할, 속성+기능 정의
  • new 키워드로 객체 생성
  • 코드 가독성과 구조화는 협업의 기본

0개의 댓글