선언
데이터형[][] 배열명 = null;
생성
3. 행마다 열을 생성
배열명[행의 번호] = new 데이터형[열의 수];
배열명[행의 번호] = new 데이터형[]{초기 값,,,,,};
public class UseVariableArray {
public UseVariableArray() {
//1. 선언)
int[][] arr2 = null;
//2. 생성 - 행의 수만 설정하여 생성.
arr2 = new int[5][];
//3. 행마다 열을 생성.
arr2[0] = new int[5];
arr2[1] = new int[2];
arr2[2] = new int[] {1, 2, 3, 4, 5, 6, 7};
// 가변배열은 초기화시 생성코드(new 데이터형)를 생략할 수 없다.
// arr2[3] = {1, 2, 3, 4, 5, 6, 7};
arr2[3] = new int[] {1};
arr2[4] = new int[] {1, 2, 3};
//4. 값 할당 - 행마다 열의 수가 다르므로 주의
arr2[0][0] = 2024;
arr2[0][4] = 42;
arr2[1][0] = 1;
arr2[1][1] = 16;
//5. 값 사용
System.out.println(arr2[0][0]);
System.out.println();
//일괄처리
for (int i = 0; i < arr2.length; i++) {
for (int j = 0; j < arr2[i].length; j++) {
System.out.printf("%d", arr2[i][j]);
}//end for
System.out.println();
}//end for
}//UseVariableArray
결과
2024
202400042
116
1234567
1
123
참조형 데이터 형이므로 객체를 생성해 사용.
선언
데이터형 변수명 = 값;
생성
변수명 = new Constructor();

: 방 하나에 여러 개의 값을 저장할 수 있다.
배열 생성
StudentVO[] stuArr = new StudentVO[3]; //번호, 이름, 나이
값 할당
stuArr[0] = new StudentVO(1, "쵸파", 17);
방의 값을 변경 => setter method사용
배열명[인덱스].method를 호출
stuArr[0].setAge(25);
값 얻기 => getter method사용
String name = stuArr[0].getName();
클래스명 객체명 = 배열명[인덱스];
StudentVO sVO = stuArr[0];
String name = sVO.getName
OOP언어의 3가지 특징 중 하나.
코드의 재 사용성 향상.
=> 부모 클래스에 정의된 자원(변수, method)을 자식 클래스에서 자신의 것처럼 사용하는 것.
클래스간의 계층이 생성.
코드의 재사용성
자식클래스명 객체명 = new 자식클래스의 생성자();
객체명.setAge(20);//자식클래스의 객체명으로 부모 클래스명 method를 사용
객체명.getAge();//자식클래스의 객체명으로 부모 클래스명 method를 사용
자식은 부모이다.(자식클래스에서는 부모클래스의 기능을 자신의 것처럼 사용.)
: 접근지정자 class 클래스명 extends 부모클래스명 implements 구현인터페이스명,,,{}
상속할 부모클래스는 하나만 정의가능. => 단일 상속만 지원
구현할 인터페이스는 여러개 정의가능.
접근지정자 : public(패키지 외부에서 접근가능), package(같은 패키지에서 접근가능.)
상속 관계에서 부모 클래스의 자원을 식별하여 사용할 수 있는 키워드.
method형식, 키워드 형식 두가지로 사용할 수 있다.
자식클래스의 변수나 method가 부모클래스의 이름과 같다면 super를 사용하여 부모의 변수와 자식의 변수를 식별하여 사용할 수 있다.
super.변수명 : 자식과 부모가 같은 이름의 변수를 가질 때
super.method명(); : 자식과 부모가 같은 이름의 method 가질 때, super를 붙이면 부모 method 호출
부모클래스의 생성자를 호출할 때 사용.
모든 클래스의 생성자 첫줄에는 부모클래스의 기본생성자를 호출하는 super()가 숨어있다.(부모클래스의 기본 생성자가 없다면 error발생)
부모클래스의 기본 생성자를 호출
super();
부모클래스의 매개변수 있는 생성자 호출
suepr(값,,,,);