Study(16)
-
Java 프로그래밍 기초 10 - 람다식, String 클래스, StringBuffer, StringBuilder, List, Map
1. 람다식 람다식이란? - 익명 함수를 이용해서 익명 개체를 생성하기 위한 식 - 객체 지향 언어보다 함수 지향 언어에 가까움 - 람다 형태 : 매개변수를 가진 코드 블럭이지만, 런타임 시에는 익명 구현 개체(추상메소드 한개 포함) 생성 요약 : 한 개의 추상메소드를 갖는 인터페이스(함수적 인터페이스, @FunctionalInterface)가 있을 때, 이 추상메소드를 구현해서 사용하기 위한 방법 중 하나. 다른 방법으로는 그 인터페이스를 받는 객체를 생성해서 사용하거나 (이 방식은 이후 클래스를 통하여 코드 재사용 가능), 재사용 필요없을 시 Main에서 인터페이스 인스턴스 생성하면서 Override를 통해 구현하는 방법이 있다. [https://juyoung-1008.tistory.com/48] @..
2020.03.16 -
Java 프로그래밍 기초 9 - 인터페이스와 추상 클래스
1. 인터페이스 클래스에서 구현해야하는 작업 명세서, 인터페이스에서 나온 메서드들을 implement한 클래스에서 반드시 구현해야함. 인터페이스를 사용하는 가장 큰 이유는 객체가 다양한 자료형(타입) 을 가질 수 있기 때문이다. //인터페이스 interface Calculatable{ public void setOprands(int first, int second); public int sum(); public int avg(); } //인터페이스를 구현하는 Calculate 클래스 class Calculate implements Calculatable{ //Calculatable 인터페이스를 Calculate 클래스가 implements 한다 int first, second; public void se..
2020.03.13 -
Data Structure - Tree (2)
Binary Trees 한 노드당 최대 2개의 자식 노드를 가진 Tree - 한 노드 당 2개의 자식 노드를 가진 것을 특정해서 Poper Binary Tree라고 부름 각 노드를 Left Child와 Right Child라고 부름 활용 : 검색, 의사결정 과정, arithmetic expressions Proper Binary Tree의 특징 Notation: n - 노드의 수 e - external 노드의 수 i - internal 노드의 수 h - 높이 특징: e = i + 1 n = i + e = 2i +1 = 2e - 1 h
2020.03.12 -
Java 프로그래밍 기초 8
1. 상속의 특징 메소드 오버라이드 지난 시간에 언급했듯이 부모 클래스의 기능을 자식 클래스에서 재정의 해서 사용하는 것. class ParentClass { public ParentClass() { System.out.println("ParentClass constructor"); } public void makeJJajang() { System.out.println("--makeJJajang() START--"); } } class ChildClass extends ParentClass { public ChildClass() { System.out.println("ChildClass constructor"); } @Override public void makeJJajang() { System.out...
2020.03.12 -
Data Structure - Trees (1)
1. Tree란? - 위계적인 구조를 나타낸 추상적인 모델 - parent - child 관계로 이루어져 있음 적용 : 목차 구성, 파일 시스템, 개발 환경 용어 정리 Root : 부모가 없는 근본 노드 (A) Internal node : 자식이 하나 이상 있는 노드 (A, B, C, F) External node (a.k.a 잎) : 자식이 없는 노드 (E, I, J, K, G, H, D) 노드의 조상(ancestors) : 부모, 조부모, 증조부모 모두 포함한 부모노드들 노드의 후손(descendant) : 자식, 손, 증손 모두 포함한 자식노드들 노드의 깊이 (Depth) : 각 노드의 조상의 수 Tree의 높이(Height) : 노드들의 깊이 중 가장 깊은 것의 크기 (여기서는 3) 노드의 높이 ..
2020.03.11 -
Java 프로그래밍 기초 7
패키지와 Static 패키지 : java 프로그램은 많은 class로 구성되는데, 이러한 클래스를 폴더 형식으로 관리하는 것 import : 다른 패키지의 클래스 사용하기 위해서는 import 키워드 사용 static : 클래스의 변수나 메서드에 static 사용하면 어디서나 변수 & 메서드 공유가능 클래스변수와 인스턴스 변수 아래 설명은 [https://vaert.tistory.com/101]의 내용을 공부하며 적었다. 일단 static 키워드를 이해하기 위해서는 클래스변수와 인스턴스 변수에 대해 알아야 한다. 쉽게 말하면 static 키워드가 붙은 변수가 클래스변수고 그렇지 않은 것이 인스턴스 변수인데, 아래 예시를 보자 class BookSeries{ String bookName; int price..
2020.03.11