형 변환 프로모션(promotion) - 더 큰 자료형으로의 자동 변환 / 정보의 손실이 없다. 디모션(demotion) - 더 작은 자료형으로의 변환(명시) / 정보의 손실이 발생할 가능성이 있기 때문에 이것을 고려 해야 한다. ex1) /* * 자바의 기본 베이스가 유니 코드이기 때문에 한글로 클래스 이름을 만들거나. * 변수를 지정할수 있다.그러나 실무에서는 영어로 작성 하기 바라고..테스트 용으로 * 사용하기 바란다. */ package javasouc; public class 자동형변환 { public static void main(String[] args){ // promotion 확대변화 //byte형 변수 (1byte : 127까지 기억) a는 10을 가지며, b는 7을 가진다. byte ..
JSP로 페이지 작업을 하면서 페이지를 이동하기 위해서 자연스레 response.sendRedirect()를 사용했다. 나름 자바스크립트의 location.href()로 이동하는 것 보다는 나을꺼라는 생각으로 근데 오히려 문제가 많았다. 처음엔 꽤 해맸는데 이런저런 자료를 찾다가 response.sendRedirect()에 대해서 좀 알게 되었다. response.sendRedirect()는 생긴거는 아주 직관적으로 생겼다.(물론 오해지만...) resonse를 리다이렉트 시켜버린다는 건데 실제 동작은 그렇게 직관적이지 않다. 직관적이지 않다고 말한 이유는 자바스크립트의 location.href()가 해당 코드를 만나는 순간 페이지를 이동하는 반면에 response.sendRedirect()를 실행될때 ..
자바 컬렉션 1. 서론 1.1 알아두기 : java.util 패키지의 구성 - 컬렉션 프레임웍(Collection Framework) : 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공 하는 클래스들 - 유용한 클래스 : 알아두면 좋은 자주 쓰이는 클래스들 - 형식화 클래스 : 데이터를 표준화도니 형식으로 출력하는데 도움을 주는 클래스들 1.2 컬렉션 프레임웍 * 컬렉션 : 다수의 데이터 즉, 데이터 그룹 * 프레임웍 : 표준화된 프로그래밍 방식 * 컬렉션 클래스 : 다수의 데이터를 저장할 수 있는 클래스 --> 컬렉션 프레임웍 : 데이터군을 저장하는 클래스들을 표준화한 설계. JDK1.2 이전까지는 Vector, Hashtable, Properties 와 같은 컬렉션 클래스들을 서로 다른 각..
제네릭 : Generics는 컬렉션(자료구조) 즉, 객체들을 저장(수집)하는 구조적인 성격을 보강하기 위해 제공되는 것이다. 간단히 예를 들자면 컵이라는 특정 객체가 있다. 이 컵은 물만 담을 수 있는 물컵, 또는 이 컵은 주스만 담을 수 있는 주스 컵! 이렇게 상징적인 것이 바로 Generics다! 제네릭의 필요성 : JDK5.0에 프로그래머가 특정 컬렉션(자료구조)에 원하는 객체 타입을 명시하여 실행하기 전에 컴파일단계에서 확인하여 지정된 객체가 아니면 절대 저장이 불가능하게 할 수 있다. (이전 버전까지는 반드시 실행하여 컬렉션(자료구조)에 있는 자원들을 하나씩 검출하여 확인할 수 밖에 없었다.) 컬렉션 클래스들은 Object형으로 요소를 저장한다. 별도의 형 변환(Casting)이 필요 없이 사이..
보통 request.getParameter()로 반환된 값의 캐릭터셋은 8859_1이다. 만약 한글이라면 페이지에 표시해 줄때 깨진 글자 가 나올것이다. 이때 (1) request의 캐릿터셋을 EUC-KR로 변환해 주거나 (2) request.getParameter()로 반환된 String 을 getBytes("8859_1")로 변환후 새로운 String 객체를 만드면 된다.(단, 반환된 값이 null 이 아닌경우.) (1)의 예 : request.setCharacterEncoding("EUC-KR") (2)의 예 : new String( request.getParameter("name").getBytes("8859_1"), "EUC-KR") 하지만 이렇게 해도 한글은 제대로 표시가 안될 것이다. 왜나면..
응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 그 중 3가지 주요영역(Method Area, 호출스택, Heap)에 대해서 알아보도록 하자. [참고] cv는 클래스변수, lv는 지역변수, iv는 인스턴스변수를 뜻한다. 1. 메소드영역(Method Area)- 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이타)를 Method Area에 저장한다. 이 때, 그 클래스의 클래스변수(class variable)도 이 영역에 함께 생성된다. 2. 힙(Heap)- 인스턴스가 생성되는 공간. 프로그램 실행 중 ..
◆ Stack top bottom stack 은 주로 배열을 이용하여 구현하며 , top에서 모든 입출력 즉 put 과 pop 등이 일어나는 구조이죠. put은 자료를 집어넣는 것이고 pop은 자료를 가져오고 그걸 지워주는 역할인 것 아시죠? 흔히들 스택을 가지고 후입선출(LIFO:Last Input First Output)방식이라고 하는데.. 나중에 들어온 값을 먼저 꺼낸다.? 뭔가 상식적으로는 맞지 않죠? 맞습니다. 하지만 특별한 경우에 이 방식을 이용하면 아주 쉽게 문제를 해결할수 있습니다. 그 예로는 공학계산기 인데.. 단순한 사칙연산 계산기가 아니라. 43^3-5+64*6+34 와 같이 사용자가 수식을 쭉 적은다음에 ‘계산’이라는 버튼을 눌렀을 경우 프로그램이 알아서 연산자 우선순위를 따져서 계..
JavaServer PagesTM (JSPTM)가 점점 널리 웹기반 어플리케이션으로 자리잡아가면서, 개발과 유지보수에 종사하는 많은 JSP 프로그래머들과 웹 개발자들은, 예전에 자바프로그래머들이 겪었던 것과 같은 딜레마에 직면했다. "어떻게 JSP 코드를 짜면 읽기, 쓰기, 유지보수하기를 일관적으로 쉽게 할 수 있을까?" 이 글은, 웹 컴포넌트를 사용하는 전형적인 소프트웨어 프로젝트에서 준수해야 할 JSP(1.1 과 1.2버전) 표준 작성요령을 제안한다. 이 문서의 모체는 자바 언어 코드 작성요령이다. (JSP 와 관련된) 코드 작성 방법 스펙에 소개된 다양하고 중요한 요소들을 확인할 수 있는 템플릿으로 삼았다. 특히, 파일명, 구성, 들여쓰기, 주석, 지시자, 선언문, 스크립틀릿, 표현식, 공백, 명명..
2. String클래스 2.1 String클래스의 특징 2.2 빈 문자열(empty string) 2.2 String클래스의 생성자와 메서드 ======================================================== 2. String클래스 기존의 다른 언어에서는 문자열을 char형의 배열로 다루었으나 자바에서는 문자열을 위한 클래스를 제공한다. 그 것이 바로 String클래스인데, String클래스는 문자열을 저장하고 이를 다루는데 필요한 메서드를 제공한다. 지금까지는 String클래스의 기본적인 몇 가지 기능만 사용해 왔지만, String클래스에는 문자열을 다루는데 유용한 메서드들이 많이 있다. 이제 String클래스에 대해서 자세히 알아보도록 하자. 2.1 String클래스..
Collator 사용하기 java.text.Collator 클래스는 자연어 비교 기능을 제공하는데, 자연어 비교는 주로 특정 서체의 문자들에 대한 동일성과 순서를 결정하는 지역 고유의(locale-specific) 규칙에 의존한다. Collator 오브젝트는 사전에서 'cat'이 'Hat'보다 먼저 나온다는 사실을 이해하므로 collator 비교를 이용할 경우 다음 코드는 cat < Hat을 출력하게 된다. Collator collator = Collator.getInstance(new Locale("en", "US")); int comparison = collator.compare("cat", "Hat"); if (comparison < 0) { System.out.printf("%s < %s\n", ..