CH5. 참조 타입 (2)

a.rubz·2022년 12월 28일
0

이것이 자바다

목록 보기
6/15
post-thumbnail
post-custom-banner

📝 정리

다차원 배열

배열 항목에 또 다른 배열을 대입한 배열

  • 배열 변수는 배열의 메모리 번지수 참조
  • 변수[i]는 다시 해당 배열 값의 메모리 번지수 참조

✔ 다차원 배열 생성

// 1. 값 목록으로 다차원 배열 생성
타입[][] 변수 = {
	{1,2, ... },
	{1,2, ... },
	...
};
// 2. new 연산자로 다차원 배열 생성
// 생성된 배열의 값들은 초기값을 가짐
타입[][] 변수 = new 타입[1차원 수][2차원 수];

✔ 객체를 참조하는 배열

  • 배열은 각 항목에 객체의 번지를 저장
  • ==, != ⇒ 배열 항목이 참조하는 객체가 같은 객체인지 다른 객체인지를 확인
  • equals() ⇒ 문자열만 비교

배열 복사

  • 가장 기본적인 복사 방법 for 문

    새로운 배열을 생성하고, for문을 통해 이전 배열의 값을 새로운 배열에 넣어줌

  • System의 arraycopy() 메소드

    System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
    System.arraycopy(arr1, 0, arr2, 0, arr1.length) // arr1의 모든 값을 arr2에 첫번째 값부터 순서대로 넣겠다
    • src : 원본 배열
    • srcPos : 원본 배열 복사 시작 인덱스
    • dest : 새로운 배열
    • destPos : 새 배열 붙여넣기 시작 인덱스
    • length : 복사 항목 수
  • 메모리의 번지가 복사되어 참조하므로 배열의 값인 원래의 객체는 변함 없음


배열 for 문

  • 카운터 변수와 증감식을 사용지 않고 사용 가능
for ( 타입 변수 : 배열 ) {

	실행문;

}

✔ main() 메소드의 String[] 매개변수 용도

  • main()에 String[] args가 있음
  • 프로그램을 실행할 때 요구하는 값이 있을 경우, 값을 입력하면 args의 String 배열의 항목 값으로 구성됨


열거 타입 (Enum, Enumeration Type)

  • 한정된 값을 갖는 타입
  • 예) 요일, 계절…
  • 열거 타입 이름은 첫 문자 대문자, 캐멀스타일
  • 하나의 데이터 타입으로 변수를 선언하고 사용해야 함
  • 참조 타입으로 null 대입 가능

✔ 열거 상수

  • 열거 타입으로 사용할 수 있는 한정된 값
  • 예) (열겨타입이 계절일 경우) 봄, 여름, 가을, 겨울
  • 모두 대문자로 작성, 단어와 단어 사이는 - 로 연결

✔ 열거 타입 비교

  • 열거 변수의 값이 특정 열거 상수인지 비교 → ==, != 연산자 사용


Calendar

  • 컴퓨터의 날짜 및 요일, 시간을 얻을 때 사용
import java.util.Calendar;
Calendar now = Calendar.getInstance(); //Calendar 객체 얻기
int year = now.get(Calendar.YEAR); //연
int month = now.get(Calendar.MONTH) + 1; //월(1~12)
int day = now.get(Calendar.DAY_OF_MONTH); //일
int week = now.get(Calendar.DAY_OF_WEEK); //요일(일1~토7)
int hour = now.get(Calendar.HOUR); //시간
int minute = now.get(Calendar.MINUTE); //분
int second = now.get(Calendar.SECOND); //초


💡 스터디

얕은 복사 & 깊은 복사

System 클래스

배열 출력 Arrays.toString()
이차원부터는 Arrays.deepToString()

profile
🔥 개발 공부 🔥
post-custom-banner

0개의 댓글