JDK 설치원하는 JDK 버전 선택해서 운영체제에 맞게 설치 https://www.oracle.com/kr/java/technologies/downloads/ Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.www.oracle.com 환경변수 설정 1. [설정] -> [검색] -> [고급 시스템 설정 보기] -> [환경 변수] 클릭 2. [시스템 변수] -> JAVA_HOME이 없다면 [새로 만들기] 클릭하고, 있다면 [편집] 클릭[변수 이름] : JAVA_HOME[변수 값] : jd..
1. 지네릭스(Generics) ☾ 지네릭스 : 컴파일 시 타입을 체크(compile-time type check) - jdk 1.5부터 도입 : 객체의 타입을 미리 명시함으로써 번거로운 형변환 감소 : 타입 안정성을 높이고 형변환의 번거로움을 줄여줌 class Box { } - Box : 지네릭 클래스 - T : 타입 변수(매개변수) - Box : 원시 타입 지네릭스 클래스의 선언 class Box { T item; void setItem(T item) { this.item = item; } T getTime() { return item; } } 사용 방법 Box b = new Box(); // 타입 T 대신 String 타입 지정 // b.setItem(new Object); // 에러. String..
1. 컬렉션 프레임워크(Collections Framework) ☾ 컬렉션 프레임워크(Collections Framework) : 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식 : 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화 : java.util 패키지에 포함(jdk1.2부터 제공) 컬렉션 프레임워크의 핵심 인터페이스 Collection (컬렉션) : 컬렉션을 다루는데 가장 기본적인 메서드 정의(읽고, 추가하고, 삭제) List (리스트) : 순서 O, 중복 O 데이터의 집합(ex. 대기자 명단) - 구현클래스 : ArrayList, LinkedList, Stack, Vector 등 Set (집합) : 순서 X, 중복 X 데이터의 집합(ex. 양의 정수 집합) - 구현클래스 ..
1. 날짜와 시간 java.util.Date : 날짜와 시간을 다룰 목적으로 만들어진 클래스(jdk1.0) : 날짜와 시간을 함께 다룬다는 단점이 존재 java.util.Calendar : Date클래스를 개선한 새로운 클래스(jdk1.1) : 여전히 날짜와 시간 동시에 다루지만 현재도 쓰임 java.time패키지 : 날짜와 시간을 따로 다룰 수 있도록 개선(jdk1.8) Calendar클래스 : 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야 함 : 사용자 환경에 따라 서양력(그레고리력), 불교력, 일본력 등으로 자동 변경됨 : java.util.Calendar를 임포트 해야 함 import java.util.Calendar; Calendar cal = Calendar.getIn..
1. java.lang 패키지 ☾ java.lang : java 프로그래밍에 가장 기본이 되는 클래스 포함 : import문 없이도 사용 가능 2. Object 클래스 ☾ Object equals(Object obj) : 객체의 주소값이 같은지 비교하여 그 결과를 boolean값으로 알려줌 : 일반적으로 주소값 대신 iv값 비교하도록 오버라이딩함 class Person { long id; public boolean equals(Object obj) { //Object클래스의 equals 오버라이딩 if (!(obj instanceof Person)) { return false; } Person p = (Person)obj; return this.id == p.id; } Person(long id) { t..
예외처리(exception handling) 프로그램 오류 컴파일 에러 : 컴파일할 때 발생하는 에러. 프로그램 실행 안됨 런타임 에러 : 문법에는 맞지만 실행 중 발생하는 에러. 프로그램 종료됨 논리적 에러 : 작성 의도와 다르게 동작. 프로그램은 실행됨 런타임 에러 에러는 어쩔 수 없지만 예외는 처리하자 - 에러 : 코드에 의해 수습될 수 없는 심각한 오류(OOME:Out Of Memory Error) - 예외 : 코드에 의해 수습될 수 있는 미약한 오류(Exception, RuntimeException 등) 예외 - Exception예외 클래스들(checked예외) : 컴파일러가 예외 처리 여부 체크. 예외 처리 필수 - RuntimeException예외 클래스들(unchecked예외) : 컴파일러..
1. 상속(inheritance) 상속 : 기존의 클래스를 재사용해서 새로운 클래스 작성 : 자손은 조상의 모든 멤버(생성자, 초기화블럭 제외)를 상속받음 : 자손의 멤버개수 >= 조상의 멤버개수 : Java는 단일상속만 허용 : '~은 ~이다.'를 가지고 문장을 만들었을 때 말이 되면 상속관계 ex) 원은 도형이다 class 자손클래스 extends 조상클래스 { // ... } class Parent {} class Child extends Parent {} class Child2 extends Parent {} class GrandChild extends Child {} 포함(composite) : 한 클래스의 멤버변수로 다른 클래스 선언 : 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계..