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 클래스명 { }- 클래스명 : 지네릭 클래스- T : 타입 변수(매개변수)- Box : 원시 타입 지네릭스 클래스의 선언class Box { // 객체의 타입을 정하지 않고 클래스 작성 T item; void setItem(T item) { this.item = item; } T getTime() { return item; }} 사용 방법Box b = new Box(); // 인스턴스를 만들 때 String 타입으로 지정// b.set..
1. 컬렉션 프레임워크(Collections Framework)☾ 컬렉션 프레임워크(Collections Framework): 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식: 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화: java.util 패키지에 포함(jdk1.2부터 제공) 컬렉션 프레임워크의 핵심 인터페이스 Collection (컬렉션): 컬렉션을 다루는데 가장 기본적인 메서드 정의(읽고, 추가하고, 삭제) List (리스트): 순서 O, 중복 O 데이터의 집합(ex. 대기자 명단)- 구현클래스 : ArrayList, LinkedList, Stack, Vector 등 Set (집합): 순서 X, 중복 X 데이터의 집합(ex. 양의 정수 집합)- 구현클래스 : Ha..
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 i..
예외처리(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): 한 클래스의 멤버변수로 다른 클래스 선언: 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 함: '~은 ~..