Functional f =(String s) -> Integer.parseInt(s) Functional f = Integer::parseInt 종류 람다 메서드참조 static메서드 참조 (x)->ClassName.method(x) ClassName::method 인스턴스메서드 참조 (obj,x)->obj.method(x) ClassName::method 특정 객체 인스턴스메서드 참조 (x)->obj.method(x) obj::method
프로그래밍
객체 지향 프로그래밍프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고,객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법코드의 재사용성이 높다코드의 관리가 용이하다신뢰성이 높은 프로그래밍을 가능하게 한다객체와 인스턴스클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화어떤 클래스로부터 만들어진 객체를 그 클레스의 인스턴스라고 함인스턴스는 참조변수를 통해서만 다룰 수 있으며, 참조변수의 타입은 인스턴스의 타입과 일치해야함 상속의 오해'공통된 기능을 여러 객체에게 전달하고 싶을 때' 라고 생각하기 쉽지만 근본적인 의도가 아님!원자 > 물질 > 생물 > 동물> ... 추상화가 되야함new 연산자를 이용해서 객체를 직접 만들지 못하게 할 수 있음 abstract class Lo..
지네릭스다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능타입의 안정성을 제공타입체크와 형변환을 생략할 수 있으므로 코드가 간결해짐타입설명TypeElementKeyValueNumberR, A, U 등등도 존재한다 class Box{ T item; void setItem(T item){ this.item = item; } T getItem(){ return item; }}Box box = new Box()box.setItem("ABC");// 이런식으로 변환됌class Box{ String item; void setItem(String item){ this.item = item; } String getItem(){ ..
서로 관련된 상수를 편리하게 선언하기 위한 것 class Card { static final int CLOVER = 0; static final int HEART = 1; static final int DIAMOND = 2; static final int SPADE = 3; final int kind; } //=> class Card { enum Kind { CLOVER, HEART, DIAMOND, SPADE} final Kind kind; }
컬렉션 프레임워크 핵심 인터페이스와 특징List => 순서가 있는 데이터의 집합 / 데이터 중복 허용Set => 순서를 유지하지 않는 데이터의 집합 / 데이터 중복 허용XMap => 키와 값의 쌍으로 이루어진 데이터의 집합 / 순서 유지X 키 중복 허용X 값 중복 허용 List Interfacevoid add(int index, Object element) / boolean addAll(int index, Collection c)Object get(int index)int indexOf(Object o)int lastIndexOf(Object o)ListIterator listIterator() / ListIterator listIterator(int index)Object remove(int index..
자바 언어의 특징운영체제에 독립적이다운영체제나 하드웨어가 아닌 JVM하고만 통신 자동 메모리 관리 (가비지 컬렉터)네트워크 분산처리 지원멀티쓰레드 지원동적 로딩 지원 JVM Java compiler 가 .java 파일을 .class 라는 Java bytecode로 변환Java compiler => JDK를 설치하면 bin 에 존재하는 javac.exe바이트 코드는 다시 실시간 번역기 또는 JIT 컴파일러에 의해 바이너리 코드로 변환JIT 컴파일(just-in-time compliation) : 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일러실제 바이트 코드를 실행하는 시점에서 자바 가상 머신(JVM, 정확히는 JRE)이 바이트 코드를 JIT 컴파일을 통해 기계어로 변환구성요소{ 클래스..