728x90
new 연산자 다음 vo클래스명 작성하고 그 다음 소괄호, 중괄호 같은 것들이 아직 헷갈리는 중
첫번째 할 때는 그냥 일반 배열에서의 초기화 3가지 방법에 대해 잘 적용하지 못했고 생각도 잘못했는데
2번째 되면서 방법2인 중괄호 방법도 적용 시키는데 성공하고 좀 틀이 잡힌 느낌
숙련도가 올라가는 느낌이 든다
/******************************** Object Array practice 2nd ***************************************/
public void objectArr02() {
// 객체배열
//
// 배열 선언 : Stack 영역에 공간 생성(변수의 선언 : stack에 공간 차지)
// 배열 할당 : heap 영역에 공간 생성
// 배열 초기화 : 인덱스,중괄호,for문
// 배열 삭제 : null
// 배열 값 출력하는 방법 2가지 : for문 + vo클래스 toString메소드
// 배열 선언
Person[] oArr;
// 배열 선언 & 할당
Person[] obArr = new Person[3];
// 배열 초기화
// 방법1 : index
obArr[0] = new Person("킴",20,'M',173,69); // 중괄호가 아닌 소괄호
obArr[1] = new Person("choi", 22, 'M', 165,45);
obArr[2] = new Person("yu",32,'M',173.2,72.3);
// 방법2 : 중괄호
Person02[] obArrr000 = {new Person02(),
new Person02(),
new Person02()
};
// 방법3 : for문
Person02[] obArrr = new Person02[5];
for(int i=0; i < obArrr.length; i++) {
obArrr[i] = new Person02("a",1,'M',1,1);
System.out.println(obArrr[i].personInfo()); // 객체값 출력
}
// 이중포문으로 객체 안 숫자 증가시켜보기
for(int i=0; i < obArrr.length;i+=2) {
int j=1;
for(; j < obArrr.length; j++) {
obArrr[i] = new Person02("a",j,'M',j+10,j+20);
System.out.println(obArrr[i].personInfo());
}
}
// 객체 배열 : 출력
//
for(int i=0; i < obArrr.length; i++) {
obArrr[i] = new Person02();
System.out.println(obArrr[i] + " "); // 주소값 출력
System.out.println(obArrr[i].personInfo()); // 객체값 출력
}
System.out.println("====null====");
System.out.println(Arrays.toString(obArrr)); // [chap06_objectArray.model.vo.Person02@6d06d69c, chap06_objectArray.model.vo.Person02@7852e922, chap06_objectArray.model.vo.Person02@4e25154f, chap06_objectArray.model.vo.Person02@70dea4e, chap06_objectArray.model.vo.Person02@5c647e05]
System.out.println(obArrr[0].personInfo()); // null, 0, 0.0, 0.0
obArrr = null;
System.out.println(Arrays.toString(obArrr)); // null
Person02[] objArr001;
Person02[] objArr002 = new Person02[5];
objArr002[0] = new Person02("a", 1,'M',171,66.2);
objArr002[1] = new Person02();
objArr002[2] = new Person02();
// objArr002[2] = new Person02(Person02.getName()); // Person02클래스의 게터에서 값을 끌어올 수 있을까 해서 해봄
// 스태틱 요구함 Cannot make a static reference to the non-static method getName() from the type Person02
Person02[] objArr004 = {new Person02(),
new Person02("철희", 32, 'M', 171,56),
new Person02("영희", 32, 'W', 161,46)
};
Person02[] objArr003 = new Person02[5];
for(int i=0; i < objArr003.length; i++) {
objArr003[i] = new Person02();
System.out.println(objArr003[i].personInfo());
}
}
728x90
반응형
'small steps > 1일 1코딩 - 코딩을 내 몸처럼' 카테고리의 다른 글
[1일1코딩][Web] boardDetailView 3rd (0) | 2022.08.10 |
---|---|
[1일1코딩][Java] 객체배열 practice 3rd : 선언,할당,초기화(index,중괄호,for문) (0) | 2022.08.09 |
[1일1코딩][Java] 객체배열 (0) | 2022.08.07 |
[1일1코딩][Web] 보드디테일뷰 3rd (0) | 2022.08.06 |
[1일1코딩][Web] boardDetailView.jsp 2nd (0) | 2022.08.05 |