객체 데이터: 여러 개의 변수로 이루어진 데이터.
Ex) 책의 구성 요소 제목, 출판사, 저자,, 가격 등
책이라는 데이터는 하나의 변수로 나타낼 수 없다.
책 한권을 나타낼 변수를 선언해보자
Book b;
Book 안에는 title, price, company, author, page, isbn변수가 들어있다.
이를 하나의 구조로 만들어야 하는데 이를 설계하는 도구를 class 라고 한다.
class 란, 새로운 자료형을 만드는 = 설계하는 = 모델링하는 도구이다.
public class BookDTO {
public String title;
public int price;
public String company;
public String author;
public int page;
public String isbn;
}
책을 만들고 출력하려면?
public class BookTest {
public static void main(String[] args) {
// 한권의 책을 저장하고 출력
String title = "java";
int price = 10000;
String company = "fastcampus";
String author = "name";
int page =100;
String isbn = "ISBN-1122";
}
}
개별로 한 권의 데이터를 입력한 것이다.
Book 을 선언하는 방법
Book b;
이것은 메모리 기억공간에 하나의 구조로 저장된다.
이 구조의 이름은 Book이 된다.
Book은 하나의 자료형이 됐다. int, String 처럼 쓸 수 있다.
B에 데이터를 어떻게 입력할까?
- 변수를 선언한다. Book b;
- 객체를 생성한다. (= 실체를 만든다) new Book(); 에 생성된 것을 실체 instance 라고 한다.
- 생성된 것을 객체에 연결(=저장) 한다. Book b= new Book();
b를 인스턴스 변수라고 한다. 도트 연산자를 통해 데이터를 넣는다
b.title = "Java";
b.page =100;
동일한 데이터를 여러 개 저장할 수 있는 구조(객체)를 배열 Array라고 한다.
동일한 연속적인구조, 동일한 변수들의 집합이다.
이동이 쉽고 배열 길이는 수정이 불가하다.
반복문 사용이 가능하다
자바에선 배열을 객체로 취급하기 때문에 new 를 사용한다.
정수 3개를 저장할 배열 생성 : new int[]arr = new int[3];
- 변수를 선언하고 int[] arr
- 객체를 생성하고 (=실체를 만들고) new int[5]
- 생성된 객체를 연결한다 arr= new int[3];
배열의 길이가 궁금하다면 arr.length
배열초기화
int arr[] = new int[]{1,2,3,4,5};
int a[] = {1,23,4,5};
Book 을 배열로 선언해보자
Book[] b = new Book[3]; -> 3권의 책이 들어갈 수 있다.
이 책에 데이터를 넣으려면
//책 3권 저장할 배열 생성, 출력
Book[] b = new Book[3];
b[0] =new Book();
b[0].title ="jAVA";
b[0].company ="fast";
b[0].price =30000;
b[0].author ="name";
b[0].isbn ="isbn345730";
b[0].page =200;
책은 객체배열이고
int[] a= new int[3]; 와 float[] f = new float[3]; 은 기본배열이다.
학생 3명의 3개의 과목 성적을 입력하고싶다면 이차원배열 을 사용한다.
이차원 배열은 행과 열로 이루어진다.
int[]score = new int[3][3];
score[행][열] , score[1][2] -> 두번째 줄 3번째
score[0][0] -> 첫번째줄 첫번째, 왼쪽 제일 위에
이차원배열에 데이터를 넣는 방법: int[][]a = {[1,2,3,4},{1,2,3,4}};
a[1][3] 값은 4가 된
'JAVA > Bootcamp 자바' 카테고리의 다른 글
VO class, 메서드 오버로딩, toString() (0) | 2024.02.22 |
---|---|
접근제어 (0) | 2024.02.21 |
메서드와 변수 (0) | 2024.02.21 |
연산자 (0) | 2024.02.21 |
자바 기초: 컴파일? 빌드? JDK? JRE? JVM? (0) | 2024.02.14 |