공부/Java와 Spring
-
TIL 114일 - Java 놓치고 있던 기본적인 것공부/Java와 Spring 2022. 4. 22. 20:44
Element 찾기 array.stream().filter().findFirst() 이렇게 찾는게 맞다고 하네... 근데 이게 최선인가... 너무 긴 느낌인데... 근데 이게 맞나봐... ArrayList 초기화와 동시에 element 추가하기 List vs ArrayList, List는 인터페이스임 ArrayList는 클래스임 ArrayList는 List를 구현한거임 String[] vs ArrayList string[] array는 한번 생성하면 사이즈를 변경할 수 없다. ArrayList arrayList는 사이즈가 유동적이지만, 사이즈가 바뀔 때마다 전에 것을 복사하는 과정이 있다고 한다. arrayList는 primitive 타입을 저장할 수 없음 객체만 저장할 수 있다.
-
TIL 93일 - java hashcode공부/Java와 Spring 2022. 4. 1. 21:35
hashcode는 객체의 hashcode를 반환한다. hashcode는 일반저긍로 객체의 주소 값을 변환하여 생성한 객체의 고유한 정수값이다. 참고글 https://brunch.co.kr/@mystoryg/133 자바 hashCode() 자바의 hashCode() hashCode()는 객체의 hashCode를 리턴한다. hashCode는 일반적으로 각 객체의 주소값을 변환하여 생성한 객체의 고유한 정수값이다. 따라서 두 객체가 동일 객체인지 비교할 때 사용할 brunch.co.kr
-
TIL 92일 - 이펙티브 자바 - 싱글턴 보장공부/Java와 Spring 2022. 3. 31. 20:02
private 생성자나 열거 타입으로 싱글턴임을 보장해라. 싱글턴 클래스 인스턴스를 오직 하나만 생성할 수 있는 클래스 위 클래스는 INSTANCE라는 필드가 static final로 선언이 되었다. 때문에 한번만 초기화가 될 수 있다. 그리고 생성자는 private으로 되어있기 때문에 클래스 내부에서만 호출이 가능하다. 때문에 이 클래스는 하나의 인스턴스만 만들어 낸다. 싱글턴을 쓰는 이유? 시스템에서 이 인스턴스가 유일해야하는 경우가 있기 때문이다. 그럼 인스턴스화를 막기 위해서는? 자연스럽게 private 생성자를 사용하면 인스턴스화를 막을 수 있다 (필요에 따라 싱글턴 패턴이면 static final 변수가 있는거고 아니면 없고)
-
TIL 85일 - static constructor 'of' 왜 사용하나?공부/Java와 Spring 2022. 3. 24. 19:27
찾아보니 싱글톤 패턴과 뭔과 관련이 있는 거 같다. 싱글톤 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우 객체가 단 하나만 생성된다고 해서 싱글톤이라고 한다고 한다. 싱글톤은 만드려면 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야 한다. (생성자를 호출한 만큼 객체가 생성되기 때문) 정적 생성자와 비정적 생성자의 차이 정적 생성자는 정적 변수만 초기화 할 수 있고, 비정적 생성자는 모두 초기화 할 수 있다. 정적 팩토리 메서드 객체 생성의 역할을 하는 클래스 메서드 직접적으로 생성자를 통해 객체를 생성하는 것이 아닌 메서드를 토해서 객체를 생성하는 것을 정적 팩토리 메서드라고 한다고 한다. 장점 1. 이름을 가질 수 있다. 만들어지는 객체의 의미를 더 명확하게 할 수..
-
TIL 82일 - 자바 한번 스윽 훑기공부/Java와 Spring 2022. 3. 21. 21:49
참조형 변수를 재할당해서 필드 값을 바꾸면?? (기억을 거슬러 올라가보면....) 자바에서 인스턴스는 힙 메모리 영역에 올라가고. 아래같은 코드를 통해 asd 변수에 user를 할당하면, 힙 메모리에 있는 동일한 인스턴스를 가르키게 되고 고로 asd의 값을 바꿔도 원래 user도 바뀐다. 배열에서 참조형 변수를 가져다가 재할당 한 다음에 필드 값을 바꾸고 원래 배열에서 원래 참조형 변수를 remove 한다면? 일단 remove를 안 하면 위와 마찬가지로 name이 바뀐다. 근데 뭔가 처음에 생각했을 때는 remove를 하면 원래 참조하던 인스턴스가 사라졌으니까 tempUser1도 사라져야 하는 게 아닌가? 같은 생각을 했는데 그게 아니었다. 다시 한번 생각해 보면 user1의 주소값이 A라고 했을 때, ..
-
계속해도 계속 까먹는 어노테이션공부/Java와 Spring 2022. 3. 20. 16:59
Configuration 스프링 IOC 컨테이너에게 해당 클래스를 Bean 구성 class임을 알려주는 어노테이션 Bean 스프링 IOC 컨테이너에 빈을 등록하도록 하는 어노테이션 개발자가 직접 제어가 불가능한 외부 라이브러리등을 빈으로 만들려고할 때 사용한다. Coponent 개발자가 직접 작성한 class를 빈으로 등록하기 위한 어노테이션 참고글 https://galid1.tistory.com/494 Spring - @Bean 어노테이션과 @Component 어노테이션(DI) - 2 @Component, @Bean 프로그램이 거대해 짐에 따라 XML 을 이용하여 IOC Container 를 설정하는 것이 점점 어려워졌고 때문에 Annotation(@) 이란 것이 등장했다(이하 어노테이션). 어노테이션..