▣ 기본 데이터 타입을 이용한 배열 클래스의 예
◈ byte[]
◈ int[]
◈ long[]
◈ float[]
◈ double[]
◈ char[]
▣ 클래스를 이용한 배열 클래스의 예
◈ String[]
◈ Image[]
기본 데이터 타입뿐만 아니라 클래스에도 브래킷([])를 붙여서 새로운 배열 데이터 타입을 만들 수 있습니다. 결론적으로 배열 데이터 타입은 브래킷([])이 붙은 새로운 형태의 클래스입니다. 배열 데이터 타입을 아예 배열 클래스라고 부르겠습니다. 배열 클래스는 new를 이용해서 객체를 생성하며, 배열의 개수를 지정하기 위해서 브래킷([]) 안에 첨자를 사용합니다.
--------------------- 배열 복사 ----------------------------------------
public class ArrayTest {
int arr[] = new int[10];
int[] source = new int[]{5, 4, 6, 9, 7, 9};
int[] target = {100, 200, 300, 400, 500, 600,700};
public void arrayCopy1()
{
// System.arraycopy(); 를 이용한 선택 부분 복사
// source의 2번째(0,1,2번째) 요소부터 4개가 복사
// target에서는 3번째(0,1,2,3번째) 자리에 복사
System.arraycopy(source, 2, target, 3, 4);
for(int i=0; i<target.length; i++) {
System.out.println("target["+i+"]:" + target[i]);
}
System.out.println();
int[] source = new int[]{5, 4, 6, 9, 7, 9};
//clone()을 이용한 메모리 모두 복사
int[] target = (int[])source.clone(); // 다운 캐스팅
for(int i=0; i<target.length; i++){
System.out.println("target["+i+"] : " + target[i]);
}
}
public static void main(String[] arr)
{
ArrayTest at = new ArrayTest();
at.arrayCopy1();
}
}
--------------------- 객체 배열 ----------------------------------------
public class ArrayTest {
private String name;
private String kind;
public ArrayTest(String name, String kind) {
this.name = name;
this.kind = kind;
}
public String toString() {
return this.kind + ":" + this.name;
}
public static void main(String[] arr)
{
//1. 객체배열의 생성
ArrayTest[] dog = new ArrayTest[5];
for(int i=0; i<dog.length; i++)
{
System.out.println("Dog[" + i + "] : " + dog[i]);
}
//2. 객체배열의 참조변수에 메모리할당
dog[0] = new ArrayTest("쫑쫑이","불독");
dog[1] = new ArrayTest("워리","똥개");
dog[2] = new ArrayTest("개똥이","진도개");
dog[3] = new ArrayTest("발리","푸들");
dog[4] = new ArrayTest("투덜이","잡종");
for(int i=0; i<dog.length; i++)
{
System.out.println("Dog[" + i + "] : " + dog[i]);
}
}
}
/*
Dog[0] : null
Dog[1] : null
Dog[2] : null
Dog[3] : null
Dog[4] : null
Dog[0] : 불독:쫑쫑이
Dog[1] : 똥개:워리
Dog[2] : 진도개:개똥이
Dog[3] : 푸들:발리
Dog[4] : 잡종:투덜이
*/
◈ byte[]
◈ int[]
◈ long[]
◈ float[]
◈ double[]
◈ char[]
▣ 클래스를 이용한 배열 클래스의 예
◈ String[]
◈ Image[]
기본 데이터 타입뿐만 아니라 클래스에도 브래킷([])를 붙여서 새로운 배열 데이터 타입을 만들 수 있습니다. 결론적으로 배열 데이터 타입은 브래킷([])이 붙은 새로운 형태의 클래스입니다. 배열 데이터 타입을 아예 배열 클래스라고 부르겠습니다. 배열 클래스는 new를 이용해서 객체를 생성하며, 배열의 개수를 지정하기 위해서 브래킷([]) 안에 첨자를 사용합니다.
--------------------- 배열 복사 ----------------------------------------
public class ArrayTest {
int arr[] = new int[10];
int[] source = new int[]{5, 4, 6, 9, 7, 9};
int[] target = {100, 200, 300, 400, 500, 600,700};
public void arrayCopy1()
{
// System.arraycopy(); 를 이용한 선택 부분 복사
// source의 2번째(0,1,2번째) 요소부터 4개가 복사
// target에서는 3번째(0,1,2,3번째) 자리에 복사
System.arraycopy(source, 2, target, 3, 4);
for(int i=0; i<target.length; i++) {
System.out.println("target["+i+"]:" + target[i]);
}
System.out.println();
int[] source = new int[]{5, 4, 6, 9, 7, 9};
//clone()을 이용한 메모리 모두 복사
int[] target = (int[])source.clone(); // 다운 캐스팅
for(int i=0; i<target.length; i++){
System.out.println("target["+i+"] : " + target[i]);
}
}
public static void main(String[] arr)
{
ArrayTest at = new ArrayTest();
at.arrayCopy1();
}
}
--------------------- 객체 배열 ----------------------------------------
public class ArrayTest {
private String name;
private String kind;
public ArrayTest(String name, String kind) {
this.name = name;
this.kind = kind;
}
public String toString() {
return this.kind + ":" + this.name;
}
public static void main(String[] arr)
{
//1. 객체배열의 생성
ArrayTest[] dog = new ArrayTest[5];
for(int i=0; i<dog.length; i++)
{
System.out.println("Dog[" + i + "] : " + dog[i]);
}
//2. 객체배열의 참조변수에 메모리할당
dog[0] = new ArrayTest("쫑쫑이","불독");
dog[1] = new ArrayTest("워리","똥개");
dog[2] = new ArrayTest("개똥이","진도개");
dog[3] = new ArrayTest("발리","푸들");
dog[4] = new ArrayTest("투덜이","잡종");
for(int i=0; i<dog.length; i++)
{
System.out.println("Dog[" + i + "] : " + dog[i]);
}
}
}
/*
Dog[0] : null
Dog[1] : null
Dog[2] : null
Dog[3] : null
Dog[4] : null
Dog[0] : 불독:쫑쫑이
Dog[1] : 똥개:워리
Dog[2] : 진도개:개똥이
Dog[3] : 푸들:발리
Dog[4] : 잡종:투덜이
*/
댓글 없음:
댓글 쓰기