웹개발때 버튼 객체를 만들 때 많이 쓰는 코드
객체지향 > 클래스 간의 상호작용
클래스는 독립적으로 존재하는게 좋지만
하나의 클래스만 상호작용하는 경우
내부 클래스로 작성하는 편.
클래스 맴버를 쉽게 사용할 수 있음
코드의 복잡성을 줄일 수 있음

A 클래스의 지역변수를 static B에서 사용할 경우
A클래스를 선언하지않으면 B클래스 실행이 안됨!
해당 클래스와 긴밀한 관계를 맺는 구현 객체를 만들기 위해 클래스의 멤버로 선언된 인터페이스

중첩 클래스의 특수한 형태
명시적으로 선언 안하기 때문에 코드가 단순해짐
쉽게 객체 생성가능
익명 클래스는 무조건 부모 클래스가 있어야 댐
자바 라이브러리
개발자가 편리하게 사용할 수 있도록 패키지나 모듈을 압축한 파일

패키지
상호 관련있는 클래스와 인터페이스를 한 곳에 묶어놓은 것
모듈
패키지와 라이브러리를 묶어놓은 것
hashCode()
>인스턴스의 저장 주소 반환
같은 값을 참조하는지 판단(논리적)
Equals()
값이 같은지 판단(물리적)
Clone()
객체정보가 동일한 또다른 인스턴스 생성
모호함이 증가함! 객체 보호가 안되기때문에 사용하지않음.

문자열을 변경하거나 연결할 때 StringBuffer와 StringBuilder 사용!
Integer 클래스가 제공하는 주요 메서드
날짜, 시간, 리스트, 벡터, 헤시테이블 ,컬렉션(자바의 자료구조) 등
Array 배열 비교,복사,정렬
Calender 날짜와 시간 정보가 필요할 때 사용
Date 밀리초 단위의 현재시각이 필요할 때 사용
StringTokenizer 특정 문자로 구분된 문자열을 뽑아낼 때 사용한다.
Random 난수가 필요할 때 사용한다.
Sort(array); 정렬
binarySearch(array, string ); 인덱스 반환
Fill();
기본 구분자는 공백, 탭, 줄바꿈,복귀, 용지먹임문자(서식구분문자)