2025년 7월 8일 화요일(30일차)

Jeonghoon·2025년 7월 8일

jeonghoon's Study

목록 보기
32/128

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


📦 [ 배열 (Array) ]

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

🔹 기본값

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

💡 사용법

구분예시설명
선언/생성int[] arr = new int[3];크기 지정
초기화double[] nums = {3.14, 5.1, 8.1};값 직접 할당
호출arr[0];인덱스로 접근
길이arr.length;배열 길이 반환
문자열 변환Arrays.toString(arr);배열 내용 출력

🔁 배열과 반복문

// 일반 for문
for (int i = 0; i < arr.length; i++) { }

// 향상된 for문
for (int value : arr) { }

🧱 [ 객체 (Object) ]

항목설명
📘 정의클래스에 기반하여 생성된 구체적인 실체
🧩 생성 방법클래스명 변수명 = new 클래스명();
⚙️ new 연산자메모리에 새로운 객체 생성 및 주소 반환

💡 객체 사용법

구분예시설명
선언Car myCar = new Car();객체 생성
멤버변수 호출myCar.model;접근 연산자 . 사용
멤버변수 수정myCar.color = "Red";값 변경 가능
멤버 추가/삭제❌ 불가능클래스 구조는 컴파일 후 수정 불가

🏗️ [ 클래스 (Class) ]

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

💡 클래스 작성 예시

class Product {
    // 멤버변수
    int price;
    String name;

    // 생성자
    public Product() {}
    public Product(String name, int price) {
        this.name = name;
        this.price = price;
    }

    // 메소드
    void printInfo() {
        System.out.println(name + ": " + price + "원");
    }
}

💡 Tip

  • .java 파일 내에는 클래스 1개만 작성 권장
  • 실행용(main) 클래스와 설계용 클래스는 분리
클래스 구분설명
실행 클래스main() 함수 포함
설계 클래스객체 생성 목적

⚙️ [ 메소드 (Method) ]

항목설명
📘 정의하나의 기능을 수행하는 명령어의 집합
⚙️ 기본 형태반환타입 메소드명(타입 매개변수) { 실행코드; return 값; }

🔹 주요 구성요소

용어설명예시
메소드명기능의 이름 (카멜표기법 권장)getName()
매개변수메소드 실행 시 입력값 저장 변수int a, String b
반환타입메소드 실행 후 반환되는 자료형int, String, void
반환값메소드 종료 시 반환되는 실제 값return total;
인수값메소드 호출 시 전달되는 값obj.method(10);

⚠️ 반환타입과 반환값의 자료형은 반드시 일치해야 함
⚠️ 반환값은 항상 하나만 존재
⚠️ 반환값이 없을 경우 void 사용

💡 메소드 선언 & 호출 예시

class MathUtil {
    int add(int a, int b) {
        return a + b;
    }
}

MathUtil util = new MathUtil();
int result = util.add(5, 3);

🔍 [ 메소드와 멤버변수의 차이 ]

항목멤버변수메소드
할당 시점객체마다 별도 생성클래스 내 공유
목적데이터 저장기능 수행
메모리 위치힙 영역메소드 영역

💭 [ 생각할 점 ]

1️⃣ 자료형(Type) 에 집중하자 — 타입 불일치 시 오류 발생
2️⃣ boolean 반환 메소드는 if 조건문 안에서 직접 호출하지 말고 변수로 받기
→ ✅ boolean check = method();
3️⃣ 요구사항을 천천히 해석하고 기능 단위로 나누어 구현
4️⃣ 메소드 선언 시 return 타입을 신중히 선택
5️⃣ 객체 생성 시에도 타입과 구조를 꼼꼼히 검토


0개의 댓글