목록プログラミング/JAVA (62)
ㅤㅤㅤ
사실 처음 자바를 공부하면서 궁금해 하던게 있었습니다. 그것은 추상클래스(Abstract class)와 인터페이스(Interface)의 차이 및 존재이유입니다. 클래스는 크게 일반클래스와 추상클래스로 나뉘는데 추상클래스는 본문중에 '추상메소드'가 하나 이상 포함되는 경우를 말합니다. 인터페이스는 모든 메소드가 추상메소드인 경우 선언하는 경우가 많습니다. 추상메소드라 함은 메소드의 선언부만 있고 본문이 없는 것을 말합니다. 여기서 본문은 중괄호({})로 묶여진 몸체(body)부분을 말하는데 중괄호 안이 비어있더라도 이것이 존재한다면 그것은 추상메소드가 아닙니다. 추상메소드의 선언의 예는 다음과 같습니다. abstract public void test( int a ); 즉, 메소드의 선언 후에 세미콜른(;)..
Exception 처리에 대해서(자바7에 추가된 try-catch-resources 포함)Mar 31, 2016오늘 오전에는 예외 처리에 대해서 한 번 읽어보았다. 특별한 내용은 없었고, 예외 처리에 대해서 전반적인 정리와 자바7에서 추가된 자동 리소스 닫기라고 불리우는 try-catch-resources에 대해서 정리하려고 한다.자바7에서 추가된 내용만 확인하려면 3.3. 멀티 catch(자바7에서 추가된 내용) 과 4. 자동 리소스 닫기(자바7에서 추가된 try-catch-resources) 부분만 확인하면 된다.1. Exception?사용자의 잘못된 조작이나 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 말하는 예외(Exception)는 발생시에 프로그램이 곧바로 종료된다는 점에서는 에러와..
Json형식을 웹이나 다른 부분에서 받아 왔을때 해당 부분을 파싱 하는 예제 입니다.* JavaScript 에서 JSON 생성 하시려는 분은 여기 참고 => http://huskdoll.tistory.com/11* JavaScript 에서 JSON Parse 하시려는 분은 여기 참고 => http://huskdoll.tistory.com/49* JAVA 에서 JSON 생성 하시려는 분은 여기 참고 => http://huskdoll.tistory.com/38json_simple-1.1.jar 를 받아야 됩니다.경로 다운로드 => http://code.google.com/p/json-simple/downloads/detail?name=json_simple-1.1.jar&can=2&q직접 다운로드 => jso..
JAVA에서 JSON을 생성하는 예제 입니다.* JavaScript 에서 JSON 생성 하시려는 분은 여기 참고 => http://huskdoll.tistory.com/11* JavaScript 에서 JSON Parse 하시려는 분은 여기 참고 => http://huskdoll.tistory.com/49* JAVA에서 JSON Parser 하시려는 분은 여기 참고 =>http://huskdoll.tistory.com/6json_simple-1.1.jar 를 받아야 됩니다.경로 다운로드 => http://code.google.com/p/json-simple/downloads/detail?name=json_simple-1.1.jar&can=2&q직접 다운로드 => json_simple-1.1.jar 1234..
"(?:(?:19|20)[\\d]{2})-[0-1][0-2]-(0[1-9]|[12][0-9]|3[01])$" 위에는 1990-01-01 ='가' && ch
CKEditor, Smart Editor 같은 HTML 에디터로 글을 작성하는 사이트의 경우 작성된 글에서 html 태그(tag)를 제거한 순수한 텍스트만을 추출하거나, img 태그만을 추출하여 썸네일(Thumbnail)을 만거나 하는 일이 종종 있습니다. 이러한 기능을 정규식(Regular Expression)을 사용하여 직접 만들어 쓰기도 하는데, 그 기능에는 제한이 있을 수밖에 없습니다. 이번에 소개하는 jsoup은 자바(Java)로 만들어진 HTML 파서(Parser) 입니다. jsoup은 자바 언어로 HTML을 다루는 쉽고, 강력한 기능을 제공합니다. jsoup로 다음과 같은 작업을 할 수 있습니다. * URL, 파일, 문자열을 소스로 하여 HTML을 파싱할 수 있습니다.* DOM 구조를 추적하..
= Naming Role =1. 패키지구조 1) com.opms.framework.spring.extend -> spring에서 제공하는 기능 중 추가 확장 2) com.opms.framework.struts.extend -> struts에서 제공하는 기능 중 추가 확장 3) com.opms.framework.common.util -> 프레임워크에서 공통적으로 많이 사용하는 유틸리티 4) dev.opms.프로젝트명.버전.기능.구분 -> 버전(admin,agency) , 기능(user,system,etc...) , 매체구분(overture,google,naver...), 프로그램구분(action,service,dao) 2. 웹디렉토리 구조 1) webapp/layout/.. -> 사이트메시관련페이지 2) ..
enum : 열거형 (JDK 1.5 ↑) 클래스처럼 보이게 하는 상수서로 관련 있는 상수들을 모아 심볼릭한 명칭의 집합으로 정의한 것Enum 클래스형을 기반으로 한 클래스형 선언새로운 열거형을 선언하면, 내부적으로 Enum 클래스형 기반의 새로우누 클래스형이 만들어짐.1. 열거형 선언하기1) 하나의 java파일로 만들어서 선언하기1234public enum Type { WALKING, RUNNING, TRACKING, HIKING}123456public class Shoes { public String name; public int size; public Type type;}2) 클래스 안에서 선언하기12345678public class Shoes { public String name; public in..
Java7에서 개선된 언어기능: 문자열을 위한 switch 구문개선 Java7에 추가된 Java 언어의 7가지 개선사항 중 본 포스트에서는 "Strings in 'switch' statements"에 대해 정리하고, 몇 가지 주의사항에 대해 언급하겠습니다. 7가지 개선사항은 다음과 같습니다.(OpenJDK: "Project Coin", JSR-334) Binary LiteralsUnderscores in Numeric LiteralsStrings in switch StatementsThe try-with-resources StatementCatching Multiple Exception Types and Rethrowing Exceptions with Improved Type CheckingType In..
Scanner scan = new Scanner(System.in); int i = scan.nextInt(); // 1) String s = scan.nextLine(); // 2) 이런 코드를 짤 때 첫번째 int 만 입력을 받고 그다음 nextLine() 부분을 건너띄는 경우가 발생한다. 이는 nextInt() 에서 Enter 를 칠 때 발생하는 '개행문자'를 처리하지 않고 버퍼에 남기기 때문이다. 따라서 scanner 에 있는 개행문자 \r\n 을 비워주어야 한다. 그런데 자바의 Scanner 에는 flush 함수가 없다고 하니 참 난감하다. 그렇다고 방법이 없는 것은 아닌데, 별로 맘에 들지 않는 임시방편으로 몇 가지가 있다. 1. 1번과 2번 코드 사이에 scan.nextLine() 을 집어넣..