일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 옵티마이저
- 불변객체
- 동등성동일성
- fcm데이터구조
- rest api
- equals
- fcm성능비교
- httpservlet기술
- biblecash
- multiparfile데이터
- 옵티마저
- java enum
- 디스패처서블릿
- 클라이언트요청반응
- 공유기작동방식
- HTTP프로토콜
- 스프링요청반응
- 프로세스 생성
- 동기비동기블로킹논블로킹
- multipart바인딩
- 검증 실패 예외처리
- HttpServlet
- 데이터베이스파서
- 왜불변객체인가
- Wrapper class
- 래퍼클래스
- DispatcherServlet
- 중첩클래스
- rest api 검증
- fcmv1
- Today
- Total
목록분류 전체보기 (49)
개발은 아름다워
제네릭의 핵심은 사용할 타입을 미리 결정하지 않는다는 점이다. 실제 사용하는 생성 시점에 타입을 결정하는 것이다.제네릭은 대체 무엇이고 왜 쓰는걸까? 책으로 공부해도 사실 와닿지 않았다. 기다리고 기다리던 김영한님의 자바 중급-2 강의가 나와서, 강의를 들으며 공부한 내용을 정리할 예정이다. 자바 중급2의 첫번째 테마인 제네릭에 대해서 차근 차근 공부하며 내 것으로 만들어 가야겠다.제네릭이 필요한 이유일단 코드로 !일단 코드로 살펴보자. 숫자와 문자열을 보관하고 꺼낼 수 있는 단순한 기능을 제공하는 Box를 만들어보자.public class IntegerBox { private Integer value; public void setValue(Integer value) { this...
Object 클래스가 존재하는 이유는 여러 객체들이 가졌던 공통적인 기능들을 제공하기 위함이다.Object는 동등성을 비교하기 위한 equals() 를 제공한다.동등성이란 뭘까??자바는 두 객체가 같다는 표현을 2가지로 분리해서 제공한다동일성 : == 연산자를 사용해서 두 객체의 참조가 동일한 객체를 가리키고 있는지 확인동등성 : equals()메서드를 사용하여 두 객체가 논리적으로 동등한지 확인“동일”은 완전히 같음을 의미한다. 반면 “동등”은 같은 가치나 수준을 의미하지만 그 형태나 외관 등이 완전히 같지 않는 것을 의미한다.동일성은 물리적으로 같은 인스턴스인지 참조값을 확인하는 것이고, 동등성은 논리적으로 같은지 확인하는 것이다.동일성은 메모리의 참조 값이 기준이고 동등성은 사람이 생각하는 논리적인..
클래스 안에 존재하는 클래스를 중첩 클래스라고 한다. 중첩 클래스는 언제 사용하는건가??중첩 클래스는 특정 클래스가 다른 하나의 클래스 안에서만 사용되거나, 둘이 아주 긴밀하게 연결되어 있는 특별한 경우에만 사용해야 한다. 외부의 여러 클래스가 특정 중첩 클래스를 사용한다면 중첩 클래스로 만들면 안된다.중첩 클래스를 사용해야하는 이유논리적 그룹화 : 특정 클래스가 다른 하나의 클래스 안에서만 사용되는 경우 해당 클래스 안에 포함하는 것이 논리적으로 더 그룹화 된다. 패키지를 열었을 떄 다른 곳에서 사용될 필요가 없는 중첩 클래스가 외부에 노출되지 않는 장점도 있다.캡슐화 : 중첩 클래스는 바깥 클래스의 private 멤버에 접근할 수 있다. 이렇게 해서 둘을 긴밀하게 연결하고 불필요한 public 메서드..
자바가 제공하는 열거형을 제대로 이해하려면 먼저 열거형이 생견나 이유를 알아야 한다. 열거형이 만들어진 근본적인 이유를 알아야한다.문자열과 타입 안정성String 사용 시 타입 안전성 부족 문제예를 들어 고객의 등급에 따라 할인 가격을 차등하도록 코드를 짠다고 하면public class DiscountService{ public int discount(String grade, int price){ int disocuntPercent = 0; if(grade.equals("BASIC")){ discountPercent = 10; } else if(grade.equals("GOLD")){ discountPercent =..
프로그래밍에는 이유 없이 존재하는 것은 없다. 그렇다면 자바에서 wrapper 클래스는 왜 있는걸까??기본형의 한계자바는 객체 지향 언어이다. 그런데 자바 안에 객체가 아닌 것들이 있는데 그것은 바로 기본형이다.기본형은 객체가 아니기 때문에 다음과 같은 한계가 있다.객체가 아니다 : 기본형은 객체가 아니기 때문에 객체 지향 프로그래밍의 장점을 살릴 수 없다. 예를 들어 객체는 유용한 메서드를 제공할 수 있는데, 기본형은 객체가 아니므로 메서드를 제공할 수 없다.null 값을 가질 수 없다 : 때로는 데이터가 없음 이라는 상태를 나타내야 할 필요가 있는데, 기본형은 항상 값을 가지기 때문에 이런 표현을 할 수 없다.기본형의 한계2기본형과 null기본형은 항상 값을 가져야 한다. 하지만 때로는 데이터가 ‘없..