개발 강의 정리/JAVA
-
[JAVA] 컬렉션 프레임워크개발 강의 정리/JAVA 2021. 7. 8. 18:26
1. 라이브러리와 프레임워크의 차이점. -라이브러리는 개발자가 제어권을 가지면서 남이 만든 클래스나 인터페이스를 사용 -프레임워크는 개발자의 제어권이 없다. 대신 개발자가 만든것을 맘대로 끼어 넣을 수 있다. 컬렉션 프레임워크란 객체의 C,R,U,D를 도와주도록 제공 되는 컬렉션 라이브러리 java.util 패키지에 포함 되어있다!! *중요* 수학의 집합 성질 1. 순서를 보장하지 않는다. 2. 중복을 허용하지 않는다. -> Set의 성질 List의 성질은 반대다! 말그대로 리스트이므로 순서를 보장하고, 중복을 허용한다. 1.ArrayList : 배열과 같은 목록으로 크기와 타입의 제약이 없다. index의 개념으로 저장된 객체를 접근 할 수 있다. 2.Vector :ArrayList와 비슷하며 실무에서..
-
[JAVA] 람다식(Lambda Expression) -2개발 강의 정리/JAVA 2021. 7. 6. 11:39
1. 클래스 멤버와 로컬 변수 사용 1-1. 클래스의 멤버 사용 -람다식 실행 블록에서는 클래스의 멤버인 필드와 메소드 제약없이 사용 -람다식 실행 블록 내에서 this는 람다식을 실행한 객체의 참조. import lombok.NoArgsConstructor; import lombok.extern.log4j.Log4j2; @NoArgsConstructor @Log4j2 public class UsingThis { public int outterField=10; //@Log4j2 @NoArgsConstructor class Inner{ int innerField=20; void method() { MyFunctionalInterface fi = ()->{ log.info("outterField:"+ out..
-
[JAVA] 람다식(Lambda Expressions)개발 강의 정리/JAVA 2021. 7. 5. 11:32
1. 람다식이란? : 수학식을 프로그래밍 언어에 접목하여 익명함수(=메소드)를 만드는 코딩 기법이다. 함수란? :객체 없이 단독으로 존재하는 것. None OOP언어에서 나오는 코드의 묶음이다. 그러나 자바언어에서는 객체 없이 단독으로 두는 개념이 없기 때문에 객체 소속 없이 함수 단독으로 존재하지 않는다. 그의 대안으로 익명함수가 나왔다. 즉, 익명구현객체가 익명함수이다. 익명함수란? 자바 컴파일러가 대신 클래스를 만들어 이름을 "모르는"함수. 람다식의 목표 : 익명함수를 만드는 것. 람다식을 사용하는 이유는? -코드가 간결해진다. -컬렉션 요소(대용량 데이터)를 필터링 또는 매핑해 쉽게 집계한다. 자바는 람다식을 함수적 인터페이스의 익명 구현 객체로 취급한다. 람다식->매개변수를 가진 코드블럭->익명..
-
[JAVA] Generic-2개발 강의 정리/JAVA 2021. 7. 1. 13:12
1. 제네릭 메소드 :꺽새 기호 안에 타입파라미터를 갖는 메서드. 매개변수 타입과 리턴타입으로 타입 파라미터를 갖는 메소드! (둘다 없고 메서드 선언부에 꺽새 기호가 있다면 제네릭 메서드이다. ) public 리턴타입 메소드명(매개변수 ){ ;; } 제네릭 메소드를 호출하는 두 가지 방법. 리턴타입 변수 = 메소드명(매개값); 리턴타입 변수 = 메소드명(매개값); //타입 추론으로 구체 타입이 들어감. Rvalue의 매개변수를 보고 타입추론한다 2. 제한된 타입 파라미터 : 타입 파라미터에 지정되는 구체적인 타입 제한할 필요가 있다. (NullPointerException이나 아무 객체나 들어오면 안 되기 때문에) 1. 상속 및 구현관계 이용해 타입 제한. public 리턴타입 메소드 (매개변수) { ;..
-
[JAVA] Generic개발 강의 정리/JAVA 2021. 6. 30. 11:52
1. 제네릭(Generic)이란? 우유를 하나 산다고 가정해보자. A로 가면 100원 깎아주고 B로 가면 정가를 받는다. 그럼 당연히 A편의점으로 간다. 다른 상품도 A에서 더 싸다면 물건을 사러 갈때 A로 간다=> 일반화 제네릭은 참조 타입을 일반화 하는 것이다. 왜 제네릭을 사용해야 하는가? 1. 컴파일 단계에서 '잘못된 타입 사용될 수 있는 문제' 제거 가능. 다형성1로 발생할 수 있는 문제. => instanceof로 검사 그런데 만약에 부모타입에 들어갈 수 있는 자식 타입을 지정해둔다면? 검사하지 않고도 강제 형변환. 제네릭은 이것과 연관있다 지정된 타입으로 2. 타입변환을 제거한다. 제네릭은 미리 타입을 지정하기 때문에 지정된 타입으로 리턴하고, 매개변수 또한 지정된 타입으로 들어간다. 그렇기..
-
[JAVA] 예외처리 코드, 사용자 정의 예외개발 강의 정리/JAVA 2021. 6. 29. 11:44
1. 예외처리코드 1. Try-Catch 블럭 catch 블럭엔 무엇을 넣어야 하는가? => 비즈니스 로직이기 때문에 임의로 만들 수 없음 public static void main (String [] args){ try{ }catch(예외 클래스 e){ //예외클래스 참조변수명 => 매개변수 //발생한 예외 객체의 메소드를 호출하여, 로그로 스택 트레시으(Stack Trace)가 남도록 호출 해줘야함. e.printStackTrace(); }catch(예외 클래스 b){ } . . . finally{ //JVM이 수행을 보장하는 블록 //try 블럭에서 사용된 자원객체를 해제 } } 2. 다중캐치 catch 블럭을 여러개 사용해서 여러 예외를 잡을 수 있다. Exception 캐치문이 위로 올라가면 나..
-
[JAVA] 예외처리개발 강의 정리/JAVA 2021. 6. 28. 12:09
1. 오류의 종류 (1) 에러(Error) :개발자가 처리할 수 없는 상황. 캐치는 가능하지만 개발자가 처리할 수는 없음. (2) 예외(Exception) : 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 2. 예외의 종류**중요** (1) Checked Exception(일반(컴파일 체크) 예외 ) :예외 처리 코드 없으면 컴파일 오류 발생 (2) Runtime Exception(실행 예외) :예외 처리 코드를 생략하더라도 컴파일이 되는 예외 -경험상 처리하는 부분 3. 예외 클래스**중요** ^^^^^^소위 다이어그램이라고 부름 ^^^^^ 패키지: java.lang 패키지. lang 패키지는 임포트 없이 사용 가능함. 상위 클래스: java.lang.Exception java.lang..