차근차근 개발자 되기

Java

6일차: Java 배열/String/객체 - 2021.06.22

wellow 2021. 6. 23. 00:11

목차

1. 배열(1차원 배열, 2차원 배열)

2. 참조형(String 타입)

3. 객체지향 프로그래밍(객체, 클래스)

 

1. 배열

 

1) 1차원 배열                ★ArrayEx05 / ArrayEx07 참고

메인 메소드와 사용자 정의 메소드에서의 배열 처리

 

향상된 for(=확장 for)에서의 배열 처리                 ★ArrayEx06 참고

- 형식:  for( 변수 : 순차적인 자료구조(배열, 컬렉션) ) {

                        실행될 문장;

           }

 

배열 복사                 ★ArrayEx08 참고

- 배열은 한 번 생성하면 크기 변경 불가

- 더 많은 저장 공간이 필요하다면 보다 큰 배열을 새로 만들고 이전 배열로부터 항목 값들을 복사

- 방법: for문 이용, System.arrayCopy() 메소드 이용, Arrays 클래스 이용

2) 2차원 배열

값이 정해져 있지 않을 때              ★Arr03 참고

   int[][]      score    =   new      int[5][3];

   자료형    배열변수    연산자    [5]:       (가로)

                                           [3]:       (세로)

 

정수값을 저장할 수 있는 5 3열짜리 기억 공간을 생성

    score[0][0]=85;   score[0][1]=60;  score[0][2]=70;

    score[1][0]=90;   score[1][1]=95;  score[1][2]=80;

    score[2][0]=75;   score[2][1]=80;  score[2][2]=100;

    score[3][0]=80;   score[3][1]=70;  score[3][2]=95;

    score[4][0]=100;  score[4][1]=65;  score[4][2]=80;

 

값이 정해져 있을 때                     ★Arr03 / Arr04 참고

   int [][] score = { { 85,  60,  70},      // 0

                      { 90,  95,  80},        // 1

                      { 75,  80, 100},       // 2

                     { 80,  70,  95},        // 3

                     {100,  65,  80} };     // 4

 

2. 참조형(String 타입)

 

String 타입: 문자열을 저장하는 클래스 타입

 

1) 문자열 리터럴 동일하다면 String 객체 공유

2) new 연산자를 이용한 String 객체 생성

- (heap) 영역에 새로운 String 객체 생성

- String 객체를 생성한 후 번지 리턴

3) 주소 비교, (데이터) 비교             ★StringEx01 참고

== : 참조하는 주소를 비교

equals() : 참조하는 값(데이터)을 비교

 

* Java.lang (패키지) String (클래스) equals (메소드)

객체 배열(‘이것이 자바다’ p.167)        ★StringEx02 참고

- 객체의 주소를 참조하는(저장하는) 배열

 

3. 객체지향 프로그래밍(OOP: Object Oriented Programming)

 

1) 객체(Object)와 클래스(Class)

객체

- 물리적으로 존재하는 것 (자동차, , 사람)

- 추상적인 것(회사, 날짜) 중에서 자신의 속성과 동작을 가지는 모든 것

- 객체는 필드(속성) 과 메소드(동작)로 구성된 자바 객체로 모델링 가능

클래스

- 현실세계:  설계도 객체

- 자바:      클래스 객체

- 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의

- 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)

- 하나의 클래스로부터 여러 개의 인스턴스를 만들 수 있음

 

클래스의 이름

- 한글 이름도 가능하나, 영어 이름으로 작성

- 알파벳 대소문자는 서로 다른 문자로 인식

- 첫 글자와 연결된 다른 단어의 첫 글자는 대문자로 작성하는 것이 관례

(ex. Car, Member, ChatClient, Web_Browser)