본문 바로가기
백엔드/Java

<FAST CAMPUS>자바 웹개발 - 객체지향 프로그래밍

by 고구마는호박고구마 2021. 1. 6.

<객체 지향 프로그래밍 17장~24장>

 

배열과 ArrayList 

 

배열이란?

  -동일한 자료형의 순차적 자료 구조

  - int[] arr = new int[10];

  - int arr[] = new int[10]; // 처음에는 0 값이 다 들어가 있으니 주의

 

    for (int i =0; i< (10보단 arr.length); i++) {

     }

 

 

알파벳 출력. (알파벳 A는 아스키 코드 65로 저장되어있으니 ++시켜주면서 알파벳을 저장한다.

 

 

객체 배열 (Array List)

 

null -> 객체의 주소를 담게된다. 

 

Book[] library = new Book[5] = 5개의 자리만 만들어줌.

   (향상된 for 문 )  Ex) for ( Book book : library )

    - library의 저장된 전체를 돌아서 book 변수에 넣어서 출력을 가능하게 함

 

 

 

얕은 복사 (주소만 복사 = 똑같은 놈) , 깊은 복사

 

copyLibrary[0].setTitle,Author도 '나목' , '박완서'로 변경되어 있다. (얕은 복사)
깊은 복사 copyLibrary배열을 다 new해서 만들고 library배열의 책 저자와 이름만 가져와 카피하여 저장해준다

 

다차원 배열

arr.length = 행의 개수 (2가 출력)

 

 

ArrayList 사용하기 

 

 - ArrayList 클래스

   자바에서 제공되는 객체 배열이 구현된 클래스

   객체 배열을 사용하는데 필요한 여러 메서드들이 구현되어 있음

 

주요 메서드 

 

add매서드 활용 for문을 통하여 list.size() 리스트의 들어간 갯수만큼 배열에선 length길이만큼 출력한다 . 또한 ArrayList를 사용할때 <> 쓰게될 타입을 정한다.

 

 

코딩해보세요

 

 

Student 클래스

학생이 여러 책을 읽으니깐 책을 ArrayList로 설정하고 책을 리스트에 넣기 전에 new를 사용하여 책을 만들고 set함수를 이용해 이름을 넣고 그다름 리스트에 추가한다.

 

Book 클래스

main

addbook함수를 통해 책을 ArrayList에 넣고 showInfo 함수를 통하여 ArrayList에 있는 책의 내용을 출력한다.

결과

 

댓글