[JAVA] 객체 상속 시, 인스턴스는 어떤 순서로 생성될까? [super(), Object Creation in Java]
·
◎ Java/Java☕
- 객체 상속 시, 인스턴스는 어떤 순서로 생성될까? 객체를 상속하고 있을 경우, 인스턴스의 생성 순서는 어떻게 될까? 아래와 같이 Student 객체는 Person 객체를 상속하고 있다고 가정해보자. public class Person { // 내용 생략 } public class Student extends Person { // 내용 생략 } 여기서 Student 인스턴스를 생성할 경우, 아래와 같은 구조가 된다. (모든 객체는 Object 객체를 상속하고 있다.) 객체는 본인보다 상속 받은 상위 클래스를 먼저 인스턴스화 한 뒤, 마지막에 본인의 인스턴스를 생성한다. 상위 클래스의 생성자를 super()로 호출하며, 코드로 보면 아래와 같다. public class Person { public Per..
[JSP] JSP에서 JavaScript 템플릿 문자열(${...}, Template literals) 사용 방법 [JavaScript 백틱 사용이 안될 때]
·
◎ Java/JSP📋
- JavaScript 백틱 사용이 안될 때 jsp를 사용할 경우, jsp의 EL 표현식과 JavaScript의 템플릿 문자열이 겹치게 된다. 아래의 코드는 jsp 엔진을 거치지 않으면 정상적으로 동작한다. var today = '2023-07-25'; var msg = `오늘은 ${today} 입니다.`; // 오늘은 2023-07-25 입니다. 그러나, jsp 엔진을 거치게 되면 아래와 같게 변한다. 1) page, request, session, context 에서 "today"라는 이름표가 붙은 값을 찾는다. 2) null이면 아무것도 출력하지 않고 EL 표현식(${...})을 없앤다. 3) null 이 아니면 EL 표현식(${...})에 toString() 값을 넣는다. // Controller..
[JAVA] Map에서 new Map과 clear()의 차이 [List 안에 Map을 담을 때 clear를 사용하면 안될까?]
·
◎ Java/Java☕
- Map에서 new Map과 clear()의 차이 for 문을 활용하여 List 안에 Map을 담는 경우, Map 객체를 하나만 생성하고 clear() 하여 재사용하는 방식을 생각해볼 수 있다. 이 방법은 좋은 방법일까? import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Test { public static void main(String[] args) { List list = new ArrayList(); List list2 = new ArrayList(); Map map = new HashMap(); for(int i = 0 ; i < 3 ; i++) ..
[study] 인라인 메서드(inline method)란? [코드 내용이 단순할 때 가독성 높이는 방법]
·
◈ Study/기초튼튼 개발지식🥔
- 인라인 메서드(inline method)란? 인라인 메서드는 메서드 호출의 오버헤드를 줄이고 실행 속도를 향상시키며, 메서드의 이름이 너무 일반적이어서 기능이 무엇인지 정확히 알기 어려울 때 사용하면 가독성을 높일 수 있다. 인라인 메서드는 성능 개선을 위한 최적화 기법 중 하나이지만, 모든 메서드에 적용할 수 있는 것은 아니다. 메서드 크기가 크거나, 호출하는 부분이 많거나, 가상 메서드인 경우 등에는 인라인 메서드를 적용하기 어려울 수 있다. 또한, 인라인 메서드는 코드 중복이 발생할 수 있기 때문에 유지보수성을 고려하여 적절히 사용해야 한다. //인라인 메서드 적용 전 function getRating(driver) { return moreThanFiveLateDeliveries(driver) ..
[꿀팁] Java 클래스파일(.class) 소스 보는 법 [Java Decompiler, 자바 클래스파일 열기]
·
◐ 기타/알아두면 좋은 팁(tip)✨
- Java 클래스파일(.class) 소스 보는 법 1. Java Decompiler 다운로드 Java Decompiler The “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions. JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reco java-decompiler.github.io 2. Java Decompiler 사용방법