전체 글147 람다와 스트림 - 람다식: 함수(메서드)를 간단한 식으로 표현 new Object(){ int max(int a, int b){ return a>b? a:b; } } (a,b)->a>b?a:b 함수는 클래스에 독립적, 메서드(자바)는 클래스에 종속적 반환값이 있는 경우, 식이나 값만 적고 return문 생략가능 ;안붙임 매개변수 타입 생략가능 람다식은 익면 함수가 아니라 익명 객체이다. 람다식(익명 객체)을 다루기 위한 참조변수가 필요 참조변수 타입은? - 함수형 인터페이스: 단하나의 추상메서드만 선언된 인터페이스 interface MyFuntion{ public abstract int max(int a, int); } MyFunction f = new MyFunction(){ public int max(int a, .. 2022. 3. 10. 쓰레드 - 프로세스와 쓰레드 프로세스: 실행 중인 프로그램, 자원(메모리, cpu)과 쓰레드로 구성 쓰레드: 프로세스 내에서 실제 작업 수행 모든프로세스는 최소 하나의 쓰레드 프로세스:쓰레드=공장:일꾼 하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 쓰레드를 생성하는 것이 더적은 비용이 든다. - 멀티쓰레드 장단점 장점: 자원을 효율적, 응답성 향상, 코드간결 단점: 동기화주의, 교착상태주의, 각쓰레드 효율적으로 실행하도록 고려 - 쓰레드의 구현과 실행 Thread클래스 상속 run()구현 MyThread t = new MyThread(); t.start(); Runnable인터페이스 구현 (이게더 좋음) run()구현 Runnable r = new MyThread(); Thread t= new Thre.. 2022. 3. 10. 지네릭스, 열거형, 애너테이션 - 지네릭스: 컴파일시 타입체크를 해주는 기능 //tv객체만 저장할 수 있는 어레이리스트 ArrayList tvList = new ArrayList(); tvList.add(new Tv()); Tv t = tvList .get(0); 타입체크가 강화됨 객체의 타입안정성을 높이고 형변환의 번거로움을 줄여줌 - 타입변수: 클래스를 작성할 때 Object타입 대신 타입변수(E)를 선언해서 사용 - 객체 생성시, 타입변수대신 실제 타입을 지정(Tv) - 타입 변수 대신 실제 타입이 지정되면, 형변환 생략가능 - Box 지네릴클래스 T 타입변수 타입매개변수 Box 원시타입 - 지네릭타입과 다형성 참조변수와 생성자의 대입타입 일치 지네릭 클래스간 다형성 성립 매개변수의 다형성 성립 - Iterator:클래스 작성할.. 2022. 3. 9. 컬렉션 프레임웍 - 컬렉션: 여러 객체를 모아 놓은 것을 의미 - 프레임웍: 표준화, 정형화된 체계적인 프로그래밍 방식 - 컬렉션 프레임웍 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 컬렉션 프레임웍의 핵심 인터페이스 - List: 순서가 있는 데이터 집합 데이터 중복허용 (대기자 명단) - Set: 순서를 유지하지 않는 데이터의 집합. 데이터의 중복을 허용하지 않음(네발동물집합) - Map: 키와 값의 쌍으로 이루어진 데이터의 집합. 순서 없음/ 키중복 안됨/ 값중복가능(아이디비밀번호) - List: 벡터, 어레이리스트*, 링크드리스트* - ArrayList: 기존의 벡터를 개선한것 벡터는 동기화 됨 순서유지 중복허용 데이터의 저장공간으로 배열.. 2022. 3. 8. 날짜와 시간 & 형식화 - java.util.Date - java.util.Calendar - java.time패키지 - Calendar클래스 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야한다. Calendar cal = Calendar.getInstance(); 월이 0부터 시작 clear()는 Calendar객체의 모든 필드를 초기화 - 형식화 클래스 DecimalFormat(숫자를 형식문자열 반대도 가능), SimpleDateFormat(날짜와 시간을 다양한 형식으로 출력) 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능 2022. 3. 8. java.lang패키지와 유용한 클래스 - Object클래스: 모든클래스의 최고 조상. 오직 11개의 메서드만 가지고 있다. - equals(Object obj): 객체 자신(this)과 주어진 객체(obj)를 비교한다. 같으면 true, 다르면 false Object클래스의 equals()는 객체의 주소를 비교(참조변수 값 비교) - hashCode(): 객체의 해시코드를 반환하는 메서드 객체의 주소를 int로 변환해서 반환 equals()를오버라이딩하면, hashCode()도 오버라이딩해야한다 equals()의 결과가 true인 두객체의 해시코드는 같아야 하기 때문* - toString(): 객체를 문자열로 변환하기 위한 메서드 - String 클래스: 데이터(char[])+메서드(문자열 관련) 내용을 변경할 수 없는 불변 클래스 덧셈 연.. 2022. 3. 8. 예외처리 - 프로그램 오류 컴파일에러: 컴파일 할 때 발생하는 에러 실행전 런타임에러: 실행 할 때 발생하는 에러 프로그램 종료 논리적에러: 작성 의도와 다르게 동작 종료 안됨 - 런타임에러 에러: 수습 불가 심각 오류 예외: 수습 가능 미약한 오류 정의: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드 작성 목적: 프로그램의 비정상 종료를 막고 정상적 실행상태 유지 -Exception클래스: 사용자의 실수와 같은 외적요인 I/O, classnotfound -RuntimeException클래스: 프로그래머의 실수로 발생하는 예외 arithmetic, classcast, nullpointer, indexoutofbounds - try{ }catch(Exception e){ } - Exception가장 .. 2022. 3. 7. AWS 탄생배경 제프 베이조스 아마존 창립자 평소(on premise)와 세일기간 사용자폭증 놀고 있는 컴퓨터를 외부에 서비스 -> 클라우드 컴퓨터 개인 off premise 2022. 3. 7. 이전 1 ··· 11 12 13 14 15 16 17 ··· 19 다음