본문 바로가기

study/Java3

[Java] Reflection Reflection 1. Reflection 리플렉션(Reflection)은 구체적인 클래스 타입을 알지 못하더라도 그 클래스의 메서드, 필드, 생성자에 접근할 수 있도록 해주는 자바 API다. 리플렉션은 실행 시간에 동적으로 특정 클래스의 정보를 추출할 수 있다. 리플렉션을 사용하면 접근 제어자와 무관하게 런타임에 클래스의 메소드를 호출할 수 있다. java.lang.reflect 패키지 아래에서 리플렉션에 필요한 클래스들을 제공한다. 1.1. Reflection을 통해 가져올 수 있는 정보 Class Constructor Method Field Enum Annotation Parent Class & Interface etc 1.2. Reflection 기능 Class 가져오기 {클래스 타입}.clas.. 2024. 3. 3.
[Java] String Pool 0. String 객체 Java에서 문자열을 표현하는 String은 불변객체다. String name = "jeongyun"; name += "eo"; System.out.println(name); // jeongyuneo 위 코드에서 name에 문자열을 더한다고 해서 문자열의 값이 바뀌는 것이 아니라, 새로운 객체를 만들어 그 참조값을 참조하게 된다. 만약 같은 값을 갖는 문자열을 여러 번 선언한다면, Heap 영역에 매번 새로운 객체를 생성하게 될 것이다. 이는 메모리 낭비로 이어진다. 따라서 Java는 문자열 객체를 캐싱(caching)한다. 💡 캐싱(caching) - 데이터를 미리 복사해 임시 저장해놓는 것 - 데이터 접근 시간을 줄일 수 있음 1. String Pool Java의 Heap 영역.. 2023. 4. 18.
[Java] 인터페이스(Interface) 네이밍 0. 들어가며 SSAFY 7기부터 현직자 멘토링이 새로 생겼다. 사실 별로 관심이 없었는데 같은 반 동기가 멘토링 게시판을 애용한다는 이야기를 듣고 어떤 질문들이 올라와 있는지 호기심에 멘토링 게시판을 둘러보던 중 흥미로운 게시글을 발견했다. 실습 때 사용하던 인터페이스의 네이밍에 대한 질문이었는데, 결론부터 말하면 실습 때 사용하던 네이밍은 지양해야하는 방법이라는 것을 새롭게 알았다. 사실 이 부분은 이전에 Java 스터디를 할 때 했던 다뤘던 내용일 수 도 있지만 잘 기억이 안난다...반성하고 복습하자. 1. 헝가리안 표기법(Hungarian Notation) 1-1. 헝가리안 표기법이란 헝가리안 표기법(Hungarian Notation)이란 프로그래밍 언어에서 변수 및 함수의 이름 인자 앞에 데이터.. 2022. 4. 3.