| 항목 | 설명 |
|---|---|
| 📘 정의 | 동일한 자료형 데이터를 순서대로 저장하는 자료형 |
| ⚙️ 특징 | 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 (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 향상된 for문 (값만 사용)
for (int value : arr) {
System.out.println(value);
}
| 항목 | 설명 |
|---|---|
| 📘 정의 | '주체'가 아닌, 행위나 의사를 받는 대상 |
| 💡 종류 | 물리적 객체(사람, 안경) / 논리적 객체(주문, 수강 등) |
| 🧠 객체지향 프로그래밍 (OOP) | 개발자가 프로그램 내에서 객체를 정의하고 상호작용하는 방식 |
| 구분 | 예시 | 설명 |
|---|---|---|
| 객체 생성 (방법 1) | new 클래스명(); | 익명 객체 생성 |
| 객체 생성 (방법 2) | 클래스명 변수명 = new 클래스명(); | 일반적인 객체 생성 방식 |
| 멤버변수 접근 | 객체명.변수명; | 접근 연산자 . 사용 |
| 멤버변수 수정 | 객체명.변수명 = 새로운값; | 멤버변수 값 변경 |
| 멤버변수 추가/삭제 | ❌ 불가능 | 클래스 구조는 컴파일 후 변경 불가 |
⚙️
new: 메모리에 객체를 생성하고 주소값을 반환하는 키워드
| 항목 | 설명 |
|---|---|
| 📘 정의 | 객체를 만들기 위한 설계도 |
| ⚙️ 구성요소 | 1️⃣ 멤버변수 (속성) 2️⃣ 메소드 (기능) 3️⃣ 생성자 (초기화 함수) |
| 💡 표현 | 속성 = 특징(멤버변수), 기능 = 행위(메소드) |
class 클래스명 {
// 멤버변수 (속성)
타입 변수명;
// 메소드 (기능)
void 메소드명() {
실행코드;
}
}
📄 Tip
.java파일 내에는 보통 클래스 1개만 작성 권장- 실행용 클래스(main 포함)와 설계용 클래스는 분리
| 구분 | 설명 |
|---|---|
| 실행 클래스 | main() 함수를 포함하는 클래스 (프로그램 시작점) |
| 설계 클래스 | 객체 생성용 설계 클래스 (main 없음) |
class Student {
int studentId;
String name;
String phone;
void study() {}
void eat() {}
void attend() {}
}
Student s1 = new Student();
s1.studentId = 101;
s1.name = "홍길동";
System.out.println(s1.name); // 출력: 홍길동
| 번호 | 내용 |
|---|---|
| 1️⃣ | 주석을 잘 달자! → 협업 시 코드 이해도 향상 |
| 2️⃣ | 자바에서 객체를 생성하기 위해서는 반드시 클래스가 필요 |
| 3️⃣ | 클래스는 프로그램 구조의 핵심 단위 |
| 4️⃣ | 멤버변수와 메소드의 역할을 구분하자 |
✅ 핵심 요약
- 배열 : 동일 타입, 고정 길이, 인덱스 기반 접근
- 객체 : 클래스의 실체, 속성과 기능 보유
- 클래스 : 설계도 역할, 속성+기능 정의
new키워드로 객체 생성- 코드 가독성과 구조화는 협업의 기본