본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

IT기술/JAVA71

오버로드(Overload)와 오버라이드(Override)의 차이점 오버로드(Overload) 메서드의 이름은 같고 파라메터의 갯수나 타입이 다른 함수를 정의하는 것을 의미한다. (리턴값만을 다르게 갖는 오버로드는 작성 할 수 없다.) 오버라이드(Override) 상위 클래스의 메서드를 재정의 하는 것이다. 메서드의 이름은 물론 파라메터의 갯수나 타입도 동일해야 하며, 주로 상위 클래스의 동작을 상속받은 하위 클래스에서 변경하기 위해 사용된다. 오버로딩(Overloading)은 기존에 없던 새로운 메서드를 정의하는 것이고 오버라이딩(Overriding)은 상속 받은 메서드의 내용만 변경 하는 것이다. 2023. 4. 4.
OpenJDK와 OracleJDK 의 차이점 OpenJDK -> 오픈소스 기반 무료 툴 OracleJDK -> 상용(유료) 툴 자바 개발에 있어 JDK를 사용하는데 비용문제를 생각하지 않을 수 없다. OracleJDK 의 어느 버전까지 무료다라고 명확하게 지정하는 글도 찾기 힘들다. Oracle과 논쟁을 하기 싫어 나오지 않는다고 볼 수 밖에. 비용적인 측면을 생각한다면 OpenJDK를 쓰는게 맞으나, 성능 및 응답성, 안정성에 관해선 OracleJDK가 더 뛰어나다. 기업마다 생각이 다르므로 선택해서 쓰는 경향이 크다고 본다. OpenJDK http://openjdk.java.net/ OpenJDK Learn about the key active Projects in the Community including Amber (high-producti.. 2023. 3. 22.
SLF4J, logging의 새로운 도구 지금까지는 대부분의 로깅 도구로써 log4j를 사용해왔다. 대부분의 개발자라면 알 정도로 오래되었으며, 많은 곳에서 사용되어 왔다. 상위버전인 log4j2 버전도 나왔으나 보안이슈가 생기면서 난리가 난적이 있다. 이 때문에 의도적으로 log4j를 사용 안하려는 추세가 생긴 것으로 보인다. 대안책으로 사용되는 slf4j 를 알아두면 좋을 것 같아서 별도로 정리해 둔다. https://www.slf4j.org/ SLF4J Simple Logging Facade for Java (SLF4J) The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. ja.. 2022. 10. 17.
[JAVA] 자바 이클립스 자동 저장 실행 이클립스에도 자동저장 기능이 있다. 다만 실시간으로 자동저장 되는것이 아니고, 컴파일이나 실행시 자동으로 저장이 된다. 애초에 자동저장이 안되었던 툴이니 이정도로 만족하자. [Window] - [Preferences] - [General] 하위 메뉴 클릭 - [Workspace] - [Build] - 우측 [Save automatically before manual build] 체크 좌측 [Run/Debug] - [Launching] - 우측 Sava required dirty editors before launching - [Always] 체크 - 하단 [Apply and Close] 2021. 9. 30.
java 명명규칙 공통 명명규칙 1) 규칙 1. 대소문자가 구분되며 길이에 제한이 없다. 2. 예약어를 사용해서는 안 된다. 3. 숫자로 시작해서는 안 된다. 4. 특수문자는 '_' 와 '$'만을 허용한다. 5. 파스칼 표기법 (PascalCase)과 카멜 표기법(camelCase)를 사용한다. 6. 반의어는 반드시 대응하는 개념으로 사용해야 한다. ※ PascalCase : 모든 단어에서 첫 번째 문자는 대문자이며 나머지는 소문자이다. ※ camelCase : 최초에 사용된 단어를 제외한 첫 번째 문자가 대문자이며 나머지는 소문자이다. 반의어(의미가 반대인체로 사용되는 용어들) get / set 받다 / 받다 old / new 구 / 신 open / close 열다 / 닫다 add / remove 추가 / 제거 begi.. 2021. 9. 30.
JSTL 에러 없는데 빨간 줄 생기는 이유? 이클립스 2020년 6월버전을 쓰다가 스프링 xml에서 namespace문제 때문에 고생하던 중 2019년 6월 버전으로 다운그레이드 시키면 사용가능하다고 들었다. 그래서 이클립스 버전을 변경하고 프로젝트를 돌리는 중에 이전에 없던 오류를 발견했다. jsp 페이지에서 jstl 기능을 사용하는데 빨간줄이 생기면서 오류표시가 뜨는 것이다. 이클립스 버전마다 지원하는 기능이 다른가보다 싶다. 쨋든 해결은 해야겠지. 에러는 java Library에 Tomcat 을 넣어주지 않아서 발생하는 문제다. 해결방법 프로젝트 탭 -> Properties -> Java Build Path -> Libraries -> Add Library -> Server Runtime -> Apache Tomcat v*.0 추가 이러면 j.. 2021. 9. 30.
카멜표기법 camelCase, 파스칼표기법 PascalCase 1. 카멜 표기법 "camelCase" 각 단어의 첫문자를 대문자로 표기하고 붙여쓰되, 맨처음 문자는 소문자로 표기함 띄어쓰기 대신 대문자로 단어를 구분하는 표기 방식 예시: backgroundColor, typeName, iPhone 2. 파스칼 표기법 "PascalCase" 첫 단어를 대문자로 시작하는 표기법 예시: BackgroundColor, TypeName, PowerPoint 2018. 10. 30.
[JSTL] JSTL IF ~ ELSE 문 - <c:if>와 <c:choose> JSTL에도 IF문과 같은 분기문을 기본으로 제공하는데, 우리가 사용하는 것과는 약간 내용상 차이가 있다. 우리는 보통 IF문을 사용할때 IF ~ ELSE IF ~ ELSE 를 이용하여 프로그래밍 코드를 작성하는데, JSTL 에서는 어떻게 작성되는지 한번 살펴보자. 단순 IF문 : if문에서 else가 없는 단순 if문을 구성할때 사용할 수 있다. 1 2 3 4 5 홍길동이 맞습니다. IF ~ ELSE 문 : 우리가 많이 사용하는 if~else 문의 경우 jstl에서는 를 이용하여 구성하여야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 홍길동이 맞습니다. 홍길동이 아닙니다. 사람이 없습니다 ㅜㅜ 위의 구문을 jsq 코드로 표현하면 아래와 같다. 1 2 3 4 5 6 7 8 9 .. 2018. 10. 28.
MYSQL에서 DATETIME타입을 가져오는 방법 Java(Android)에서 DB에 있는 DATETIME을 초단위까지 불러오기 위해서는Java.sql.Timestamp타입을 사용해서ResultSet.getTimestamp("컬럼명");을 사용하면 Java에서 년월일시분초까지 데이터를 가져 올 수 있다. 2018. 10. 28.
jsp 날짜 처리 JSP를 사용하는 중요한 장점 중 하나는 모든 자바 API를 사용할 수 있다는 것이다. 이 장에서는 상세하게 java.util의 패키지에 현재 날짜와 시간을 캡슐화하는 자바 Date 클래스에 대해 설명합니다. Date 클래스는 두 개의 생성자가 있습니다. 최초의 생성자는 객체를 초기화하는 현재 날짜 및 시간을 사용한다. 1 Date( ) 두 번째 생성자 (밀리 초)을 표현하는 1970년 1월 1에서 이른 아침에 나타내는 매개 변수를 받아들입니다. 1 Date(long millisec) Date 객체를 획득 한 후에는 다음 표에 나열된 모든 방법을 사용할 수 있습니다 현재 날짜와 시간을 가져옵니다 다만이 같은 라인에 Date 객체의 toString () 메서드를 사용하여 쉽게 현재 날짜와 시간을 얻을 수 .. 2018. 10. 28.
The type Date is ambiguous 에러 The type Date is ambiguous java.util 을 import 시키지 않으면 d = newDate(); 이 문장에서 오류가 나고 DB 연동을 해야 해서​ java.sql과 java.util을 동시에 import 시키면 위와 같은 오류가 난다. 이유는 java.util.Date와 java.sql.Date 클래스 둘다 참조하기 때문에 어떤 Date를 써야할지 모르기 때문이다. ​ 그래서 import에서 두 패키지를 import 할 경우 클래스 선언 부분에서 패키지 까지 정의해주면 정상적으로 나온다. java.util.Date d = new java.util.Date(); ​또는 java.sql.Date d = new java.sql.Date();​ import시 사용하는 클래스만 impo.. 2018. 10. 28.
[JAVA] String to Date, Date to String 형변환 String to Date 1 2 3 4 5 String from = "2013-04-08 10:10:10"; SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date to = transFormat.parse(from); Date to String 1 2 3 4 5 Date from = new Date(); SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String to = transFormat.format(from); 2018. 10. 28.