Java의 TestBlock Java는 Java13부터 TestBlock을 지원한다. TestBlock은 """ 문자, 문자, 문자 """ 형식으로 자유롭게 문자열을 저장할 수 있다. TestBlock은 주로 html, JSON 형식의 파일을 Parsing하는데 사용할 수 있음. TestBlock은 String, StringBuffer Type에 저장해서 사용할 수 있음. package ch02; public class StringBufferTest { public static void main(String[] args) { String textBlock = """ HOW R U I'M FINE THANK YOU """; System.out.println(textBlock); StringBuffer ab..
String Class String Class는 자바에 구현되어있는 클래스다. String str1 = new String("abc")로 선언되는 String은 인스턴스로 선언되어 Heap 메모리 영역에 저장된다. String str2 = "abc"로 선언되는 String은 Static 영역에 선언된다. String Class의 메모리 낭비 String은 Final로 선언된다고 한다. 따라서 String을 합치는 연산을 하게 되면 String은 기존의 참조 변수에 값을 저장하는 것이 아니다. String 덧셈 연산을 한 후, 새로운 인스턴스를 생성해 저장한다. 그리고 참조변수가 그 인스턴스를 가리키게 하는 것이다. String은 Final로 선언된 탓에 기존의 인스턴스는 Garbage Collector가..
자바의 Object Class Object Class는 자바의 모든 클래스의 최상위 클래스다. 모든 자바의 클래스는 Object Class를 상속받는다. (컴파일러가 자동으로 Object 선언시 extends Object를 추가한다) 모든 클래스는 Object Class의 일부 메서드를 Override를 재정의 해서 사용할 수 있다. Object Class의 주요 재정의 메서드 주요 재정의 메서드를 재정의 하기 전에 사용하는 Student Class의 멤버변수는 아래와 같음. // Cloneable한 클래스를 구현할 것이기 때문에 에노테이션을 달아준다. public class Student implements Cloneable{ String studentName; int studentId; public ..
Java의 내부 클래스란? 클래스 내부에 다시 한번 클래스가 정의 되는 경우가 있다. 이렇게 클래스 내부에 정의되는 클래스를 내부 클래스라고 한다. 내부 클래스는 인스턴스 내부 클래스, Static 내부 클래스, 지역 내부클래스, 익명 내부 클래스가 있다. 인스턴스 내부 클래스 내부적으로만 사용될 클래스다. 인스턴스 내부 클래스는 외부 클래스가 생성된 후에 내부 클래스가 생성된다. Private이 아닌 내부 클래스는 외부에서 선언이 가능하다. 하지만 그렇게 사용하지는 않는다. 외부 클래스 내부에 있기 때문에 외부 클래스의 Private 변수, 메서드도 사용 가능하다. package ch01; class OutClass{ private int oNum = 10; private static int sNum ..
함수형 프로그래밍(Functional Programming) 함수형 프로그래밍은 함수를 구현하고, 매개변수만으로 함수 내부에서만 수행되는 프로그래밍 기법이다. 함수는 외부의 변수들을 사용하지 않아, 외부에 영향을 미치지 않는다. 즉, 외부 영향이 줄어들기 때문에 안정성이 좋다. 함수형 프로그래밍은 매개변수를 기반으로만 수행되기 때문에 동시에 여러 함수를 사용할 수 있다. 즉, 병렬 처리가 가능하다는 이점이 있다. Lambda Expression(람다식) 람다식은 익명 함수다. 람다식은 매개 변수와 매개 변수를 이용한 실행문으로 작성이 가능하며, 코드는 간결해지나 가독성이 떨어진다. 람다식은 람다식을 위한 인터페이스가 필요하며, 인터페이스 내에는 단 하나의 메서드만 존재해야한다. 람다식은 이름이 없기 때문..