\- LIFO(Last In First Out): 나중에 넣은 객체가 먼저 빠져나가는 구조\- FIFO(First In First Out): 먼저 넣은 객체가 먼저 빠져나가는 자료구조→ 컬렉션 프레임워크에는LIFO(리포) 자료구조를 제공하는 Stack 클래스와FIFO(
: 키(key)와 값(value)으로 구성된 Map.Entry 객체를 저장하는 구조를 가지고 있음: Entry는 Map 인터페이스 내부에 선언된 중첩 인터페이스임여기서 키와 값은 모두 객체임: 키는 중복 저장될 수 없지만 값은 중복 저장될 수 있음만약 기존에 저장된 키
: List 컬렉션은 객체의 저장 순서를 유지할 수 있지만Set 컬렉션은 저장 순서가 유지되지 않음그리고 객체를 중복해서 저장할 수 없고,하나의 null만 저장할 수 있음: Set 컬렉션은 = 수학의 집합과 비슷함 → 집합은 순서와 상관없고 중복이 허용되지 않
: 배열과 비슷하게 객체를 인덱스로 관리함\- 배열과 차이점: 저장 용량이 자동으로 증가: 객체를 저장할 때 자동 인덱스가 부여됨: 추가, 삭제, 검색을 위한 다양한 메소드들이 제공됨: 객체 자체를 저장하는 것이 아니라 객체의 번지를 참조함→ 그렇기 때문에 동일한 객체
: 자료구조(Data Structure)를 사용해서 객체들을 효율적으로추가, 삭제, 검색할 수 있또록 인터페이스와 구현 클래스를java.util 패키지에서 제공함 이들을 총칭한 것: 컬렉션(Collection) - 객체의 저장: 프레임워크(Frame) - 사용 방법을
: 주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드: 주 스레드가 종료되면 데몬 스레드는 강제적으로 자동 종료되는데,그 이유는 주 스레드의 보조 역할을 수행하므로주 스레드가 종료되면 데몬 스레드의 존재 의미가 사라지기 때문이 점을 제외하면 데몬 스레드는 일반
: 스레드 객체를 생성하고 start() 메소드를 호출하면바로 실행되는 것이 아니라 실행 대기 상태가 됨: 실행대기 상태란 언제든지 실행할 준비가 되어 있는 상태를 말함: 운영체제는 실행 대기 상태에 있는 스레드 중에서 하나를 선택해서 실행 상태로 만듦: 실행 상태의
: 운영체제에서는 실행 중인 하나의 애플리케이션을 프로세스라고 함: 사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아애플리케이션의 코드를 실행하는 것: 하나의 애플리케이션은 멀티 프로세스(multi process)를만들기도 함: 사전적 의미
Date now = new Date();: 특정 시점의 날짜를 표현하는 클래스: Date 객체 안에는 특정 시점의 연도, 월, 일, 시간 정보가 저장됨: Date는 객체 간의 날짜 정보를 주고받을 때 매개 변수나 리턴 타입으로 주로 사용됨SimpleDateFormat
: java.lang.Math 클래스는수학 계산에 사용할 수 있는 메소드를 제공함: Math 클래스가 제공하는 메소드는모두 정적 메소드이므로Math 클래스로 바로 사용 가능\- round() 메소드: 항상 소수점 첫째 자리에서 반올림해서 정수값을 리턴\- Math.ra
: 자바는 기본 타입(byte, char, short, int, long, float, double, boolean)의 값을갖는 객체를 생성할 수 있음 → 이런 객체를 포장(Wrapper) 객체라고 함→ 그 이유는 기본 타입의 값을 내부에 두고 포장하기 때문· 포장 객
: 문자열은 java.lang 패키지의 String 클래스의 인스턴스로 관리됨: 소스상에서 문자열 리터럴은 String 객체로 자동 생성되지만String 클래스의 다양한 생성자를 이용해서직접 String 객체를 생성할 수도 있음: 어떤 생성자를 이용해서 String 객
: 클래스와 인터페이스의 메타 데이터를java.lang 패키지에 소속된 Class 클래스로 관리함메타 데이터란?: 클래스의 이름, 생성자 정보, 필드 정보, 메소드 정보를 말함1) 클래스로부터 얻는 방법① Class clazz = 클래스이름.class② Class cl
: 자바 프로그램은 운영체제에서 바로 실행되는 것이 아니라JVM위에서 실행됨: java.lang 패키지에 속하는 System 클래스를 이용하면운영체제의 일부 기능을 이용할 수 있음즉, 프로그램 종료, 키보드로부터 입력, 모니터로 출력, 현재 시간 읽기등이 가능함: Sy
: 객체의 문자 정보를 리턴함: 객체의 문자 정보란 객체를 문자열로 표현한 값: 기본적으로 Object 클래스의 toString() 메소드는'클래스이름@16진수해시코드'로 구성된 문자 정보를 리턴함: Object의 toString() 메소드의 리턴값은자바 애플리케이션에
: 객체를 식별하는 하나의 정수값: Object 클래스의 hashCode() 메소드는객체의 메모리 번지를 이용해서 해시코드를 만들어리턴하기 때문에 객체마다 다른 값을 가지고 있음: 논리적 동등 비교 시 hashCoe()를 오버라이딩할 필요가 있음컬렉션 프레임워크에서 H
public boolean equals(Object obj) { ··· }: equals() 메소드의 매개 타입은 Object인데,이것은 모든 객체가 매개값으로 대입될 수 있음을 말함→ 왜냐하면 모든 객체는 Object 타입으로 자동 타입 변환될 수 있기 때문: Obj
: 자바 프로그램의 기본적인 클래스를 담고 있는 패키지: java.lang 패키지에 있는 클래스와 인터페이스는 import 없이 사용할 수 있음• java.lang 패키지에 속하는 주요 클래스 와 간략한 용도\- API(Application Programming Int
\- try-catch-finally 블록: 생성자 내부와 메소드 내부에서 작성되어 일반 예외와 실행 예외가 발생할 경우 예외 처리를 할 수 있도록 해줌: Class.forName() 메소드는 매개값으로 주어진 클래스가 존재하면 Class객체를 리턴하지만,
일반적인 경우상속class 클래스이름1 extends 부모클래스 { ··· }부모클래스 변수 = new 클래스이름1();→ 부모 클래스 변수는 클래스1의 객체를 참조구현 class 클래스이름2 implements 인터페이스 { ··· }인터페이스 변수 = new 클래스