클로저에 대한 내용을 람다식을 활용하여 설명한다. * 람다식에 대한 설명 자바에서 클로저는 람다식이나 내부 클래스 같은 영역 안에서 외부에서 정의된 변수를 사용하는 방식을 의미한다. 즉, 람다식을 만들 때 람다식 안에서 정의한 변수나 매개 변수로 받지 않는 변수가 사용될 경우 클로저가 사용됐다고 볼 수 있다. 예시 int a = 3; (i) -> i + a; // 클로저 이렇게 클로저에서 사용된 변수를 자유 변수(free variables)라고 하며, 자유 변수는 코드 블록 안에서 정의되거나 매개 변수가 아닌데 사용되는 변수를 뜻한다. 예제 class CodeRunner { public static void main(String args[]) { int a = 3; // 자유 변수 InterfaceRam..
문자열을 비교할 수 있는 여러 방법이 있는데 이 중에서 == 연산자와 equals 메서드를 활용하는 방법 비교한다. 비교하는 내용을 작성하기에 앞서 문자열 생성 방식에 대한 설명이 필요하여 먼저 작성한다. 문자열을 생성할 수 있는 방법은 리터럴 방식과 생성자를 사용하는 방식이 있다. String str1 = "string" // 리터럴 방식 String str2 = new String("string") // 생성자 활용 방식 여기서 리터럴 방식으로 문자열을 만들 경우 같은 별도의 String Contant Pool이라는 영역에 배치되기 때문에 동일한 문자열을 생성하면 같은 주솟값을 가지게 된다. String str1 = "a"; String str2 = "a"; System.out.println(str1..
크롬에서는 font size에 최소 크기가 정해져 있다. 현재 최소 크기는 10px이며 font-size 속성만 변경해서는 절대로 10px 미만의 크기로는 변경할 수 없다. 즉 font-size 속성에 1~10px 사이의 값이 들어가도 10px로 변경되어 표시된다. 예전 글들을 보다 보면 -webkit-font-size-adjust 속성을 사용하여 해결했다는 내용이 있는데, 현재 크롬은 해당 속성을 제공하지 않고 있다. 여기서 텍스트의 크기를 10px 보다 작게 보이도록 우회할 수 있는 편법이 있다. transform 속성을 사용하는 것이다. transform: translate(-22%, -50%) scale(0.5); display: inline-block; 편법이라고 말한 이유는 폰트의 크기를 조정..