반응형

자바 71

자바 기초 공부 일지 49. 메소드 참조 (작성 수정중)

람다는 이전에 배운 것으로 그 자체로 다른 메소드 안에서 매개변수로 참조될 수도 있다는 것을 알았습니다. https://blue-dot.tistory.com/96 자바 기초 공부 일지 46. 람다lambda 람다에 대한 이해를 위해 기본형과 익명 클래스 사용과 람다의 사용을 작성해볼게요. 기본 클래스 익명 클래스 람다 interface Printable { void print(String s); } class Printer implements Printable { public void print( blue-dot.tistory.com 일부 람다식을 메소드 참조로 대신하게 하거나 기본적으로 람다식보다 조금 더 코드를 단순하게 하기 위해서 메소드 참조를 사용합니다. 메소드 참조method reference는..

자바 기초 공부 일지 47. 람다와 함수형 인터페이스

함수란 재사용할 수 있는 코드 조각이며 이것이 클래스 안에 포함되어 있으면 메소드라고 합니다. 함수형 인터페이스란 함수를 정의하기 위한 인터페이스 입니다. (추상메소드를 하나만 가지고 있는 인터페이스) 함수형 인터페이스는 객체 뿐만 아니라 기능적인 상호작용을 가능하게 합니다. 람다를 사용하는 경우들을 살펴볼게요. 1. 인스턴스보다 기능 하나가 필요한 상황을 위한 람다에서 사용합니다. 함수를 외부에 작성한 뒤 인자로 넣는 것이 아니라, 인자의 자리에 직접적으로 람다를 넣을 수 있습니다. 아래의 예제를 살펴볼게요. 리스트의 정렬sort를 위해 sort의 기준이 되는 오버라이딩을 클래스로 정의했습니다. class StrCmp implements Comparator{ @Override public int com..

자바 기초 공부 일지 46. 람다lambda

람다에 대한 이해를 위해 기본형과 익명 클래스 사용과 람다의 사용을 작성해볼게요. 기본 클래스 익명 클래스 람다 interface Printable { void print(String s); } class Printer implements Printable { public void print(String s) { System.out.println(s); } } class Lambda1 { public static void main(String[] args) { Printable prn = new Printer(); prn.print("What is Lambda?"); } } interface Printable { void print(String s); } class Lambda2 { public stat..

자바 기초 공부 일지 45. 네스티드 클래스, 스테틱 클래스, 이너 클래스

네스티드Nested ( nest, 둥지를 틀다. 새 둥지) 는 중첩을 의미합니다. 클래스 안에 들어있는 클래스를 네스티드 클래스라고 합니다. 네스티드 클래스 안에는 Static 클래스와 Non-Static 클래스가 있습니다. Static 클래스의 경우에는 정적 클래스 Static 클래스가 아닐 경우에는 Non-Static 네스티드 클래스 또는 이너 클래스라고 합니다. 이너 클래스는 다시 멤버 클래스, 로컬 클래스, 익명 클래스로 나뉘어집니다. - 멤버 클래스는 클래스 안에서 멤버 역할을 하는 클래스 - 로컬 클래스는 메소드 안에 만들어진 클래스 (메소드 안의 영역을 로컬이라고 합니다.) - 익명 클래스는 클래스를 일회성으로 재정의해서 사용하는 클래스 ● Static 네스티드 클래스 Static 네스티드 ..

자바 기초 공부 일지 44. 열거형

● 자료형의 부여를 돕는 열거형 enum Scale { // 열거 자료형 Scale 의 정의입니다. enm 은 열거형 키워드. 열거형 값 (Enumerated Values) DO, RE, MI, FA, SO, RA, TI } 스케일형 인스턴스의 도 데이터, 레 데이터... 이렇게 이름에 의미를 부여합니다. 아래는 열거형의 예제입니다. public static void main(String[] args) { Scale sc = Scale.DO; System.out.println(sc); switch(sc) { case DO: //Scale.

자바 기초 공부 일지 43. ArrayList 정렬하기, Comparable과 Comparator, Comparator<T>

공부 참고 자료 : 윤성우의 열혈 자바 프로그래밍 공부 자료집 https://hianna.tistory.com/569 [Java] ArrayList 정렬하기 (오름차순, 내림차순, 사용자 정의) Collections.sort() 오름차순으로 정렬하기 내림차순으로 정렬하기 대소문자 구분없이 정렬하기 List.sort() - Java 8 이후 오름차순으로 정렬하기 내림차순으로 정렬하기 대소문자 구분없이 정렬하기 사 hianna.tistory.com List를 구현한 컬렉션 클래스들은 저장된 인스턴스를 정렬된 상태로 유지하지 않습니다. 대신에 정렬을 해야 한다면 다음 메소드를 사용해서 정렬합니다. public static void sort(List list) sort는 Collections 클래스에 정의되어 ..

자바 기초 공부 일지 42. 컬렉션 클래스 (5) 맵HashMap<K, V>

맵HashMap은 두 개의 자료가 하나의 요소를 구성하는 특성을 지닙니다. 각 자료는 키key와 값value으로 구분됩니다. key는 실질적 데이터가 아니며, 실질적 데이터인 value를 찾기 위한 지표 역할을 합니다. key는 지표의 역할을 하기 때문에 중복이 되면 안 됩니다. 즉,키key의 중복은 불가능하지만 값value의 중복은 가능합니다. 맵HashMap은 key라는 지표가 있기 때문에 순서를 유지할 필요가 없으므로 배열 순서가 없습니다. 아래의 예제를 살펴볼게요. public static void main(String[] args) { HashMap map = new HashMap(); // Key-Value 기반 데이터 저장 map.put(45, "Brown"); // (key, value) ..

자바 기초 공부 일지 41. 컬렉션 프레임 워크 (4) Queue<E>

(4) Queue ● Queue 컬렉션 클래스를 구성하는 스택Stack과 큐Queue가 있습니다. 스택Stack은 같은 구조와 크기의 자료를 정해진 방향으로만 쌓을 수 있고, top으로 정한 곳으로만 자료를 꺼낼 수 있습니다. Last in First Out 큐Queue는 한 곳에서는 삽입 작업이, 한 곳에서는 삭제 작업이 양 쪽으로 이루어집니다. 삭제 연산만 수행되는 곳을 front 프론트, 삽입 연산만 이루어지는 곳을 리어 rear 라고 하며 각각의 연산작업만 수행합니다. 큐의 리어에서 이루어지는 삽입연산을 인큐enQueue, 프론트에서 이루어지는 삭제연산을 디큐deQueue 라고 합니다. First in First Out 덱Deque 은 구멍이 두 개 입니다. 그리고 두 개의 구멍이 모두 입구도 출..

자바 기초 공부 일지 40. 컬렉션 프레임 워크 (3) TreeSet<E>

3. TreeSet ▼ HashSet + 정렬입니다. Tree(트리) 자료 구조를 기반으로 하는 인스턴스에 대해서 정렬 상태를 유지하면서 인스턴스가 저장 됩니다. TreeSet은 정렬 알고리즘을 가지고 있는 구조 입니다. public static void main(String[] args) { TreeSet tree = new TreeSet(); tree.add(3); tree.add(1); tree.add(2); tree.add(4); System.out.println("인스턴스 수: " + tree.size()); Tree 라고 하는 자료 구조는 비선형적인 자료 구조 입니다. 즉, 출발점을 기준으로 뻗어나가는 형태의 자료 구조예요. 예를 들어 가계도(족보)를 생각하시면 좋을 것 같아요. 트리 구조는 ..

반응형