람다식(Lambda Expression) 함수(메서드)를 간단힌 식으로 표현한는 방법 익명함수(이름이 없는 함수) 함수와 메서드의 차이 근본적으로 동일. 함수는 일반적 용어, 메서드는 객체지향개념 용어 함수는 클래스에 독립적, 메서드는 클래스에 종속적 람다식 작성하기 메서드의 이름과 반환타입을 제거하고 '->' 를 블록 {} 앞에 추가한다. 반환값이 있는 경우, 식이나 값만 적고 return문 생략 가능(끝에 ' ; ' 안 붙임) 매개변수의 타입이 추론 가능하면 생략가능(부분의 경우 생략 가능) //일반 메소드 int max (int a, int b) { return a > b ? a : b ; //람다식 (함수) (a,b) -> a > b ? a : b 작성시 주의사항 매개변수가 하나인 경우, 괄호()..
제네릭 모든형식을 범용으로 사용할 수 있는 형식 형식에 두개의 타입을 넣을 수 있다. 하지만 Object타입이 자동 형변환이 가능 타입만 넣어야 한다. ( .. integer 대신 int사용은 불가함 ) 배열에 담으려고 하는 타입을 지정해야한다. 자바 언어에 포함된 컬렉션 프레임워크 Collection (add, clear, contains) Set HashSet List ArrayList, LinkedList, Stack Queue Map(put, clear, containsKey) Hashed Map 선형 데이터 구조 데이터가 들어온 순서대로 저장이 되어 있는 상태 데이터 삭제시 뒤에 있는 데이터를 앞으로 옮겨야 하는 문제가 있음. 링크로 연결된 구조 데이터 검색이 느림 비선형 데이터구조 ( Tree..
컬렉션이란? 데이터를 수집하고 관리해주는 객체 지원 하는 메서드 종류 .add .remove .clear .size 콜렉션을 사용하는 이유 데이터를 관리 직접할 필요가 없다. 배열을 직접사용 할 경우 크기를 지정하여야 하나 컬렉션은 자동으로 늘리거나 줄여줌.(가변길이 배열) 최상위 추상 클래스 (Object) 모든 클래스는 Object클래스의 자손이다. 아래의 그림은 다형성을 이용한 객체를 생성한 방식이다. 모든 객체를 묶을 수 있는 범용 자료형식으로 볼 수 있다. Object가 참조 할 수 없는 객체는 없다. Wrapper클래스와 Auto Boxing / UnBoxing 하지만 기본형의 경우 주소를 참조하는게 아닌데 그런 경우 어떻게 처리가 되는 것인가. Object에 기본형을 담기 위해서는 객체형으로..
오류의 종류 오류 구문오류 치명적이지 않은 오류 논리오류 치명적인 오류(실행은 되나 원하는 값이 나오지 않는것) 예외 누군가만, 어떤 컴퓨터만, 어떤 상황에서만 예외 적으로 발생하는 오류 예외처리한다는 것이란? 프로그램에서 데이터를 보낼 때 그것을 처리하는 애를 API라고 보자. 그럼 API가 프로그램에서 필요한 부분을 처리하기 위해 처리하는 과정에서 자신이 처리 할 수 없는 데이터나 문제가 생기면 어떻게 된다는 것일까? API가 혼자서 처리할 수 있으면 좋겠지만 그것은 불가능하여 다시 프로그램에게 보고를 하기 위한 방식으로 처리 한다는 것이 예외처리이다. API가 프로그램에게 오류를 보내는 것을 공을 던진다하고 표현한다. 프로그램에서는 try catch 문을 이용하여 처리한다. 예외처리 흐름 먼저 클래..
객체지향언어 - 특징 코드의 재사용성이 높다 코드 관리가 용이하다 신뢰성이 높은 프로그래밍이 가능하게 한다. 클래스와 객체 - 클래스 정의 객체를 정의해 놓은 것. 용도 객체를 생성하는데 사용. - 객체 정의 실제로 존재하는 것(사물) 용도 기능과 속성에 따름 - 객체와 인스턴스화 클래스를 인스턴스화 하여 인스턴스를 만드는 것을 인스턴스화라고 한다. - 객체의 구성요소 (속성과 기능) 멤버(member) 객체가 가지고 있는 속성과 기능을 그 객체의 멤버라고 함. - 인스턴스 생성과 사용 Tv클래스 타입의 참조변수 t를 선언한다. 메모리에 참조변수 t를 위한 공간이 마련됨. Tv t; Tv클래스의 인스턴스가 new 연산자에 의해 생성, 이 후 대입연산자를 통해 주소를 t에 저장. t = new Tv(); ..