Java
![[Java] Reflection(리플렉션) 이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcwl0Sq%2FbtrQgdg3pEO%2FusK5yRd4a9jv4kIlZYpWt0%2Fimg.jpg)
[Java] Reflection(리플렉션) 이란?
오늘 수업을 들으며 멘토님께서 리플렉션을 가능한 피해서 프로젝트를 해봐라 라는 말씀을 해주셨다. 하지만 나는 리플렉션 자체를 몰라 검색을 해 알게 되었다.. Reflection 구체적인 클래스 타입을 알지 못해도 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API 컴파일 시간이 아닌 실행 시간에 동적으로 특정 클래스의 정보를 추출할 수 있는 프로그래밍 기법 Reflection을 사용할 때 동적으로 클래스를 사용해야 할 때 필요하다. 다시말해 작성 시점에서 어떠한 클래스를 사용해야 할지 모르지만 런타임 시점에서 클래스를 가져와서 실행해야 하는 경우 필요하다. 대표적으로 Spring 프레임워크의 어노테이션 같은 기능들이 리플렉션을 이용하여 프로그램 실행 도중 동적으로 클래스의 정보를 ..
![[Java] 싱글톤 패턴](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXOPjX%2FbtrP91V5T9x%2FsSeFjfKy0gxJHv3B25cux1%2Fimg.jpg)
[Java] 싱글톤 패턴
싱글톤 패턴 어플리케이션이 시작될 때 어떤 클래스가 최초 한 번만 메모리를 할당하고(static) 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴이다. 간단하게 설명하면 전역 변수를 사용하지 않고 객체를 하나만 생성 하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴 즉, 싱글톤 패턴은 이와 같은 상황에 사용을 한다. 프로그램 내에서 하나의 객체만 존재해야 한다. 프로그램 내에서 여러 부분에서 해당 객체를 공유하여 사용해야 한다. 싱글톤 패턴을 사용하는 이유 하나의 인스턴스만을 사용하는 싱글톤 패턴의 이점은 다음과 같다. 메모리 측면의 이점 싱글톤 패턴을 사용하게 된다면 한 개의 인스턴스만을 고정 메모리 영역에 생성하고 추후 해당 객체를 접근할 때 메모리 낭비를 방지할 수 있다. 속..
![[Java] 컬렉션 프레임워크](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblWTXM%2FbtrPYEMEeES%2FbsVo8oPu7EYgbAQ451EQCK%2Fimg.jpg)
[Java] 컬렉션 프레임워크
컬렉션 프레임워크(Collection framework)란? 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하고 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. 자료구조는 Data Structure라고 하는데, 직역하면 데이터 구조. 좀 더 구체적으로 말하면 '일련의 일정 탕비들의 데이터 모임 또는 관계를 나타낸 구성체'라고 말할 수 있다. 이러한 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현된다. 컬렉션 프레임워크 주요 인터페이스 컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스를 정의하고 있다. List 인터페이스 Set 인터페이스 Map ..
![[Java] Optional 이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbymsry%2FbtrPp3eWzgs%2F4hX7dkgX5Hkjlp2RxHiyYK%2Fimg.jpg)
[Java] Optional 이란?
Optional 객체를 사용하면 예상치 못한 NullPointException 예외를 제공되는 메소드로 간단히 회피할 수 있다. 즉, 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있게 된다. [NPE(NullPointException) ?] 개발을 할 때 가장 많이 발생하는 예외 중 하나가 NPE이다. NPE를 피하려면 null 여부를 검사해야 하는데, null 검사를 해야 하는 변수가 많은 경우 코드가 복잡해지고 번거롭다. 그래서 null 대신 초기값을 사용하길 권장하기도 한다. List names = getNames(); names.sort(); // names가 null이라면 NPE가 발생함 List names = getNames(); // NPE를 방지하기 위해 nu..