본문 바로가기

분류 전체보기

(158)
026 - Application 객체와 그것을 사용한 상태 값 저장 Application 저장소 : 서블릿 컨텍스트(Context) 지난 번 작성한 코드를 이용. html에서는 입력받는 칸을 하나만 사용하니 value라는 의미로 이름이 v인 입력창을 생성. java에서는 ServletContext를 코드 시작하자마자 만들 수 있도록 해주고, 입력으로 '='이 아닌 다른 operation이 들어온다면 들어온 값들(v, op)을 서블릿 컨텍스트에 저장, 입력으로 '='이 들어온다면 이전에 저장된 값들과 새로 들어온 값들을 이용하여 계산 후 출력하는 코드를 생성. 문제점 +나 - 버튼을 눌렀을 때 화면이 하얗게 변해서 계속 실행하기 위해선 뒤로 가기로 이동해야 함. 다음 시간에 쿠키와 세션을 이용할 예정.
025 - 상태 유지를 필요로 하는 경우와 구현의 어려움 사용자로부터 두 개의 값을 한번에 입력 받는 형식 calc?x=2&y=15 사용자로부터 두 개의 값을 하나씩 개별적으로 입력 받는 형식 calc?x= calc?x=15 calc?x=2 상태 유지를 위한 5가지 방법 application session cookie ============= (오늘은 위의 세가지만) hidden input querystring
024 - 입력 데이터 배열로 받기 023에서 이어짐 입력값이 2개라 name을 각각 x, y로 했었는데 만약 입력할 값이 그 이상이라면 새로운 name을 계속 추가해줘야 할까? => NO! 같은 name을 여러개 써도 OK -> 이 경우 배열이 됨.
다운 캐스팅과 instanceof 다운 캐스팅 묵시적으로 상위 클래스 형 변환된 인스턴스가 원래 자료형(하위 클래스)으로 변환되어야 할 때, 다운 캐스팅이라 함. 하위 클래스로의 형 변환은 명시적으로 되어야 함. Ex. Class VIPCustomer extends Customer{} 일 때. Customer vc = new VIPCustomer(); //묵시적 VIPCustomer vCustomer = (VIPCustomer)vc; //명시적 instanceof 반환형 : boolean 다운 캐스팅을 할 때 안정적으로 하기 위해선 이를 사용하도록.
다형성 다형성(polymorphism) 하나의 코드가 여러 자료형으로 구현되어 실행되는 것. 같은 코드에서 여러 실행 결과가 나옴. 정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나. 객체지향 프로그래밍의 유연성, 재활용성, 유지보수성에 기본이 되는 특징임. 장점 다양한 여러 클래스를 하나의 자료형(상위 클래스)으로 선언하거나 형변환하여 각 클래스가 동일한 메서드를 오버라이딩 한 경우, 하나의 코드가 다양한 구현을 실행할 수 있음. 유사한 클래스가 추가되는 경우 유지보수에 용이하고, 각 자료형마다 다른 메서드를 호출하지 않으므로 코드에서 많은 if문이 사라짐.
200526 - 읽은 책 출력 (ArrayList 사용) 읽은 책의 제목과 마지막으로 읽은 시리즈의 권을 코드에 입력하면, ArrayList를 사용하여 여태 읽은 모든 권의 책이 나오도록 한 코드.
ArrayList 클래스 자바에서 제공되는 객체 배열이 구현된 클래스 객체 배열을 사용하는데 필요한 여러 메서드들이 구현되어 있음. 주요 메서드 메서드 설명 boolean add(E e) 요소 하나를 배열에 추가. E는 요소의 자료형을 의미 int size() 배열에 추가된 요소 전체 개수를 반환 E get(int index) 배열의 index 위치에 있는 요소 값을 반환 E remove(int index) 배열의 index 위치에 있는 요소 값을 제거하고 그 값을 반환 boolean isEmpty() 배열이 비어 있는지 확인 이용 예시 : https://cyj42.tistory.com/entry/200526-%EC%9D%BD%EC%9D%80-%EC%B1%85-%EC%B6%9C%EB%A0%A5-ArrayList-%EC%82%AC..
023 - 여러 개의 Submit 버튼 사용하기 덧셈 버튼을 누르면 덧셈이, 뺄셈 버튼을 누르면 뺄셈이 되어야 함. 021~022강에서 만든 파일의 변형. F12 -> Network -> calc -> Form Data 을 보면 기존 파일을 실행했을 때, x와 y값만 존재했음. calc.html과 Calc.java 파일을 만들고 calc.html 의 input 태그에 name을 추가함. -> 버튼을 눌렀을 때 누른 버튼의 value가 쿼리스트링으로 전달됨. -> 전달된 value값으로 덧셈을 할 지, 뺄셈을 할 지 정한다.