컬렉션, Collection - 배열의 업그레이드 버전 - 길이 가변(늘이거나 줄이는게 가능) - 배열을 사용 목적에 따라 사용법이나 구조를 특화시켜서 제공함.(=자료구조) 기존의 순수 배열방식 배열 생성. - 타입명시(int) - 길이 명시([3])int[] nums1 = new int[3];초기화 or 요소접근 -> 인덱스 사용nums1[0]=100;nums1[1]=200;nums1[2]=300;배열의 길이 or 탐색for( int i =0; i
예외, Exception - 컴파일 발견 X 런타임발견 O - 실행중 발생하는 에러 - 개발자가 예측을 할수도 없을수도 있다. -> 예측을 하더라도 발생할 수 있는 에러. - 주로 발생하는 경우 : 프로그램 외부와의 소통을 하는 업무(파일 입출력, DB입출력, 네트워크 입출력 등...) 예외처리, Exception Handling 1. 전통적인 방식. (*조건문*) 2. 특화된 구문. (**try-catch(finally)문**) 전통적인 방식( 하드코딩의 하드코딩의 하드코딩 ) 사용자로부터 숫자1개 입력받기. > 업무진행.int num = 0; // 0이 아닐때만 일을 한다.if (num != 0) { // 업무 코드, *비즈니스코드*System.out.printf("100 / %d = %d\n", n..
Wrapper클래스int -> Integerbyte -> Byteboolean -> Boolean 이런애들...//같은 취급int n1=10;//값형Integer n2=new Integer(20);//참조형System.out.println(n1+20);System.out.println(n2+20); // 결과 같음. System.out.println(Integer.MAX_VALUE); -> 2147483647System.out.println(Integer.MIN_VALUE); -> -2147483648 //두 값의 우위 비교*********Integer.compare(10, 5) - 앞의 수가 크면 1Integer.compare(5,10) - 앞에수가 작으면 -1Integer.compare(10, 10)..
제네릭(Generic)- Java5부터 제네릭타입이 새로 추가.- 제네릭을 이용함으로써 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거할 수 있다.- 컬렉션(***), 람다식, 스트림, NIO에서 널리 사용되므로 확실히 이해해두어야 한다.- API 도큐먼트에보면 제네릭 표현이 많기 때문에 제네릭을 이해하지 못하면 API 도큐먼트를 정확히 이해할 수 없다.- 메소드를 정의할 때 타입을 파라미터로 사용할 수 있도록 한다.ex) 제네릭 클래스class Wrapper{private T data;public Wrapper(T data) {this.setData(data);} public T getData() {return data;} public void setData(T data) {this.data..
열거형, Enumeration- 클래스의 일종(=자료형)- 열거값을 가지는 자료형(제시된 값들 중에서 선택하는 자료형) 상황 ] 의류 쇼핑몰 > 고객 > 옷 선택 + 색상.(red, yellow, blue)색상 입력 -> 주관식 -> 유효성String color = "red";System.out.println(color); 색상 입력 -> 객관식1. red 2. yellow 3. blue String color = "1";if (color.equals("1")) {color = "red";}System.out.println(color); //열거형 선언.enum Color {// 멤버red, blue, yellow}enum Color2 {// 멤버RED, BLUE, YELLOW} // 열거형 사용.Col..
인터페이스, interface- 자바의 구성요소.- 클래스의 일종(자료형)- 추상클래스와 유사.- 추상메소드의 집합.- 상속관계에서 부모역할.- 구현멤버는 가질 수 없다.일반클래스 => 변수 + 메소드추상클래스 => 변수 + 메소드 + 추상메소드인터페이스 => 추상메소드 ex) class 일반클래스명{ 변수 메소드 } class 추상클래스명{ 구현멤버 변수 메소드 추상멤버 추상메소드(); } interface 인터페이스명{ 추상멤버 추상메소드(); } 상속일반클래스 > 일반클래스 : extends일반클래스 > 추상클래스 : extends일반클래스 가 인터페이스 를 (구현) : implements인터페이스 가 인터페이스 를 상속 : extends 인터페이스 구현 예제 //스피커 인터페이스 선언.interf..
1. 상속2. 추상클래스 메소드3. 메소드 오버라이드4. final 키워드5. 형변환 가장중요. 형변환, Type 참조형 형변환값형 참조형 1. 값형 형변환 - 숫자형끼리만 가능 - 큰형 -> 작은형 (명시적) - 작은형-> 큰형 (암시적) - 개발자 편의성 or 코드 유연성 2. 참조형변환- 클래스끼리 가능- 상속관계가 있는 클래스끼리만 가능(**********) -> 부모클래스 = 자식클래스 -> UpCasting -100% 구현 - >자식클래스 = 부모클래스 -> DownCasting -상황에 따라.CastParent p1;CastChild c1; c1 = new CastChild();부모클래스 = 자식클래스100% 안전.p1=c1; //암시적 .형변환 작은놈 -> 큰놈. 복사의 성공 유무 : 멤버..
Final- 클래스, 변수, 메소드 선언시에 사용할 수 있다.- final 키워드는 해당 선언이 최종상태이고 결코 수정할 수 없음을 의미한다.- 클래스, 변수, 메소드에 따라 의미가 달라진다.-> 클래스 : 상속할 수 없는 클래스, extends 키워드로 다른 클래스를 상속할 수 없다.-> 메소드 : 오버라이딩을 할수 없다. 부모클래스에서 선언된 final 키워드가 붙은 메소드는 자식클래스에서 오버라이딩(재정의)을 할 수 없다.-> 변수 : 초기값 초기화를 하면 더이상 값을 수정할 수 없다. final 변수- 값을 한번 할당하면 다시는 변경할 수 없음.- 상수에 가까운 변수. ex)int a = 10; // 일반변수final int b = 20; // 권장함final int c; // 비권장 System..