- 배열

배열사용해서 관리하는 이유 : 동일한 데이터타입끼리 묶어서 관리하기 용이함.

문제점 : 하지만 한 객체(인스턴스)의 데이터가 여러 배열로 관리하기 시작 되면 데이터 변경시 정확한 인덱스의 값들을 수정 및 삭제해야 하기 떄문에 위험하게 된다.(사람이 관리하기 좋지 못한 방식, 데이터 관리가 어렵다.)

 

- 클래스 

*객체 생성시(new 연산자) 메모리(RAM) 에 올라가서  공간 확보됨. 

ex)    student1 = new Student()  

dot(.)을이용해서 실메모리에 접근함.

 

Class : 객체를 생성하기 위한 틀, 변수(속성)+기능(메소드)로 정의되어진다.

Object, Instance : 클래스로 부터 생성된 실 객체.

* 어떤 특정 클래스로부터 나온 것을 강조할 때는 Instance 표현을 사용하는 편.(student1 은 Student의 인스턴스이다.)

 

- 클래스형 배열

배열에 생성된 변수들은 각 인스턴스의 참조값을 보관함. 따라서 최초에는 null(참조값이 없다.)로 초기화된다.

 

students[0] = students1;

students[0] = students2;

*자바에서 대입은 항상 변수에 들어있는 값을 복사한다. 인스턴스를 복사하는게 아니라, 참조값만 복사됨.

students[0] = x001;

students[1] = x002;

 

배열도 new로 생성함 --> 메모리상의 인스턴스를 만듬. 그리고 참조값을 리턴함.

 

 

 

        Student student1 = new Student2(); //x001
        student1.name = "학생1";
        student1.age = 15;
        student1.grade = 90;

        Student student2 = new Student2(); //x002
        student2.name = "학생2";
        student2.age = 16;
        student2.grade = 80;

        Student[] students = new Student[]{student1, student2};

 

1)

Students[] students = new Students[2];

students[0] = student1;

students[0] = student2;

2) Students[] students = new Students[]{student1, student2}; 

3) Students[] students = {student1, student2};   

 

전부다 같은 선언부 표현이지만, 3으로 갈수록 깔끔하다.

 

 

 

'JAVA' 카테고리의 다른 글

김영한 자바 강의 2강 -기본형과 참조형  (1) 2024.03.05
JAVA 기본 환경 세팅  (0) 2023.03.01
[Java] String Immutable  (0) 2021.08.25
[JAVA] replace , replaceAll 차이  (0) 2021.08.18
Java ( I / O Stream , 데이터 xml 파싱)  (0) 2021.07.29
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기