일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- multiparfile데이터
- 동등성동일성
- 래퍼클래스
- biblecash
- fcmv1
- 왜불변객체인가
- httpservlet기술
- 동기비동기블로킹논블로킹
- 스프링요청반응
- 옵티마이저
- equals
- 프로세스 생성
- 데이터베이스파서
- 중첩클래스
- HttpServlet
- HTTP프로토콜
- 검증 실패 예외처리
- 불변객체
- multipart바인딩
- 공유기작동방식
- DispatcherServlet
- 옵티마저
- 디스패처서블릿
- rest api
- fcm성능비교
- fcm데이터구조
- Wrapper class
- rest api 검증
- 클라이언트요청반응
- java enum
- Today
- Total
목록자바 (14)
개발은 아름다워

call by valuecall by reference이 두가지 용어는 함수가 매개변수를 받을때 어떤 방식으로 받는가이다.call by valueint a = 3;void swap(int x) {x = 5;}swap(a)라면 a의 값은 어떻게 될까?a = 3 그대로이다.#include void swap(int x) { x = 5;}int main() { int a = 3; printf("Before swap: %d\n", a); // swap 함수를 호출하더라도 a의 값은 변경되지 않음 swap(a); printf("After swap: %d\n", a); return 0;}int x에 a의 값 자체가 복사 되었기 때문이다.call by reference나는 함수를 ..

설계가 중요내 생각에 객체지향 프로그래밍에서 가장 첫번째로 되어야할 것은 바로 설계인것 같다.왜냐하면 설계를 통해 시스템 요구사항의 맥락을 파악하고, 그 맥락의 책임을 담당할 객체를 만들어 프로그래밍을 할 수 있기 때문이다.책임을 담당하는 객체를 만드는 것은 추후 유지,보수에도 매우 중요하다.변경사항 또는 문제가 생겼을 때, 그 책임을 담당하는 객체를 찾으면 되는 것이기 때문이다. 글의 순서는 이렇게 된다.채팅프로그램 요구사항 이해 -> 요구사항을 바탕으로 객체 및 책임 설정 -> 코드 구성 채팅 프로그램 요구사항- name을 입력하면 채팅방에 입장됨- client가 입장하면 다른 client들에게 입장한 client의 name과 함께 입장 메세지가 전달됨- 메세지를 입력하면 client들에게 메세지가 ..
객체지향 프로그래밍의 오해객체지향 프로그래밍의 가장 큰 오해 중 하나는 객체를 쓰면 객체지향 아니야? 라는 것이다.코드를 짜는 중에 객체를 쓰더라도 절자지향 프로그래밍하고 있을 수 있다. 다음과 같은 요구사항이 있다고 생각해보자.user의 name을 출력하세요. public static void main(String[] args) { // 요구사항 유저의 이름을 출력하세요. User user = new User("테스트"); String name = user.getName(); System.out.println(name);}static class User{ private String name; public User(String name) { this.name ..
이전까지의 흐름을 살펴본다면서블릿 -> 템플릿 엔진 -> mvc패턴 이런 흐름으로 점차 발전하였다.이전의 불편함을 개선하여 조금씩 발전한 형태로 만들어졌다.이번에는 mvc패턴에서 단점으로 지적되었던 점을 개선한 FrontController를 만들어 볼 것이다.왜 프론트 컨트롤러가 필요한가?MVC 패턴에서는 각각 요청 URI에 맞는 서블릿이 존재했다. 이 때 각각의 서블릿은 요청을 처리하는데 있어서 중복되는 코드들이 있었다. 따라서 이러한 중복되는 부분들을 공통으로 묶고 처리할 수 있는 방법이 있지 않을까?에서 출발한게 프론트 컨트롤러이다. 프론트컨트롤러 패턴은 다음과 같은 특징이 있다.frontController 패턴 특징프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받는다.프론트 컨트롤러가 요청에 ..
제네릭의 핵심은 사용할 타입을 미리 결정하지 않는다는 점이다. 실제 사용하는 생성 시점에 타입을 결정하는 것이다.제네릭은 대체 무엇이고 왜 쓰는걸까? 책으로 공부해도 사실 와닿지 않았다. 기다리고 기다리던 김영한님의 자바 중급-2 강의가 나와서, 강의를 들으며 공부한 내용을 정리할 예정이다. 자바 중급2의 첫번째 테마인 제네릭에 대해서 차근 차근 공부하며 내 것으로 만들어 가야겠다.제네릭이 필요한 이유일단 코드로 !일단 코드로 살펴보자. 숫자와 문자열을 보관하고 꺼낼 수 있는 단순한 기능을 제공하는 Box를 만들어보자.public class IntegerBox { private Integer value; public void setValue(Integer value) { this...