1. java 언어의 특징플랫폼에 독립적완전한 객체지향언어웹, 네트워크 프로그래밍 용이엄격한 자료형 검사예외 처리 기능 제공멀티쓰레딩 지원C, C++과 유사하나 단순함제임스 고슬링이 개발2. 생성자 관련 문제Cylinder, CircleCircleCylinder 3. 오버라이딩메소드 재정의, 서브 클래스가 슈퍼 클래스 재정의4. extends상속 A extends B5. final상수 정의, 변하지 않는 고정값6. 바이트코드자바 소스 컴파일 (.class)7. 패키지클래스와 인터페이스를 묶은 패키지8. finallytrycatch문에서 오류발생여부와 관계없이 무조건 실행되는 영역9. JavaAPIJava 라이브러리
공부중 Java 5부터 제네릭 (Generic) 타입이 추가되었다.제네릭은 클래스와 인터페이스, 그리고 메소드를 정의할 때 타입을 파라미터로 사용할 수 있도록 한다. 제네릭 타입classinterface ArrayList = new ArrayList 이건 다이아몬드 라고 부른다 ArrayList list = new ArrayList(); list.add(new Integer(a));=list.add(a); // 자동 형변환 ArrayList는 문자열 요소를 저장했지만, 요소를 찾아올때는 반드시 String타입으로 타입변환을 해야했다.
플랫폼에 독립적 ( 이식성이 높다)완전한 객체지향언어함수적 코딩 스타일 코딩을 지원한다.웹, 네트워크 프로그래밍 용이 (다양한 애플리케이션을 개발할 수 있다.)엄격한 자료형 검사예외처리 기능 제공동적 로딩을 지원 ( 유지보수가 쉽다)멀티쓰레딩 지원메모리를 자동으로 관리한다C, C++과 유사하나 단순함오픈 소스 라이브러리가 풍부 제임스 고슬링이 개발그린 프로젝트로 시작, 첫 이름은 oak언어였다