Data_study_clip
close
프로필 배경
프로필 로고

Data_study_clip

  • 분류 전체보기 (253)
    • 빅데이터 (9)
    • R + 통계 (7)
    • Python +머신러닝 (8)
    • DB + SQL (24)
    • 네트워크 (12)
    • Java (47)
    • C# + WPF (5)
    • JSP(JavaServerPage) (6)
    • HTML + CSS (4)
    • JavaScript (15)
    • JavaFx (1)
    • Git (9)
    • OS (9)
    • Python (0)
    • AI (5)
    • 도서 (7)
    • 경영 (8)
    • Spring (31)
    • ElasticSearch (12)
    • DesignPattern (2)
    • 주식투자 (1)
    • Docker (4)
    • React (11)
    • 개인정보보호 (2)
    • Spring Security (1)
    • Backend (5)
    • FreeMarker (1)
    • NodeJS (1)
    • 자료구조+알고리즘 (1)
    • 일기 (1)
    • 개발 잡지식 (2)
  • 홈
  • 태그
  • 방명록

Java에서 DB를 연결하는 2가지 방법과 DBCP를 사용하는 이유

1) JDBC를 사용하는 방법오라클이던, MySQL이던 각 DB에서 제공하는 DB Connection API를 이용해서 DB에 접속하는 방법이다.사용자가 직접 소스코드에 ID와 PassWord, IP 등을 입력하여 커넥션 객체를 생성하고 그 객체를 이용해서 DB를 제어하는 방법이다. 2) Connection Pool( DBCP : DataBaseConnectionPool )을 사용하는 방법우선 DBCP 방법이라고 해서 JDBC와 전혀 다른 것이 아닌 DBCP도 내부적으로 JDBC 드라이버를 사용하지만추가적으로 Connection Pool 라이브러리( Commons DBCP, HikariCP 등)을 통해 커넥션을 효율적으로 관리한다. DBCP는 개발자가 소스에서 직접 DB에 연결하는 것이 아니라, 연결은..

  • format_list_bulleted Java
  • · 2022. 1. 7.
  • textsms
Java - 오버라이딩시 주의 할점 : static 메소드는 오버라이딩 불가능하다

Java - 오버라이딩시 주의 할점 : static 메소드는 오버라이딩 불가능하다

위와같이 AnnotationParentsMethod를 오버라이딩 할 때 만약 public static int ~~ 이렇게 선언하면 아래와 같이 static은 오버라이딩 할 수 없다고 IDE가 알려준다. 이처럼 Java에서는 static으로 선언된 메소드는 오버라이딩을 지원하지 않는다. 왜 그럴까? 그 이유는 매우 간단하다. JVM이 메소드를 호출 할때 instance method의 경우 런타임시 해당 메소드를 구현하고 있는 실체 객체를 찾아서 호출한다. ( java에서 다형성 개념이 존재할 수 있게 되는 기본동작 방식) 하지만 컴파일러와 JVM모두 static메소드에 대해서는 실제 객체를 찾는 작업을 수행하지 않기 때문에 static 메소드에서는 다형성이 적용되지 않는다. 그렇게 때문에 static 메소..

  • format_list_bulleted Java
  • · 2022. 1. 7.
  • textsms

Java - 어노테이션(Annotation)이란 무엇인가?

어노테이션은 JDK5 이상 버전에서부터 등장한 것으로 클래스나 매소드 또는 변수에 @를 사용하는 것을 말한다. Why we use Annotation? 어노테이션은 사전적 의미로 주석을 의미한다. 주석과는 역할이 다르지만 주석처럼 달아서 특수한 의미 부여를 할 수 있으며 기능주입이 가능하다. 이를 사용하는 가장 큰 이유는 프로그램에게 추가 정보를 제공하는 메타 데이터이기 때문에 사용한다. 어노테이션의 기능 1. 자식 클래스에 여러개의 메소드가 정의되어 있을 때 사용 해당 메소드가 부모 클래스에 있는 메소드를 오버라이딩 했다는 것을 명시적으로 선언한다. 어노테이션을 사용하지 않으면 자식 클래스에 여러 개의 메소드가 있을 경우, 어떤 메소드가 오버라이딩 되었는지 쉽게 파악하기 어렵다. 이때 오버라이드 어노테..

  • format_list_bulleted Java
  • · 2022. 1. 7.
  • textsms
OCP(Open Closed Principle) 개방 폐쇄 원칙

OCP(Open Closed Principle) 개방 폐쇄 원칙

개방 폐쇄 원칙의 가장 대표적인 예시로써 JDBC interface를 들 수 있다., 외부적으로는 여러개의 DB들을 사용할 수 있다. 이때 이것을 직접 연결하면 DB에 연결할 수록 계속 변경되어야하는데 이를방지하기 위해서 JDBC 인터페이스를 두고 계속 다른 DB가 추가되어도 JDBC만 수정하면 되도록 하는 것이다. 이런식으로 Application과는 내부적으로 단 1개의 통로를 가지고 폐쇄적이고 바깥쪽으로는 n개의 개방적으로 확장될 수 있도록 설계하는 것이 개방 폐쇄 원칙을 잘지켜서 프로그래밍하는 것이다. 이런식으로 JDBC interface는 DBMS의 종류와 관계없이 DB를 조작하기 위한 JAVA API이다.

  • format_list_bulleted Java
  • · 2022. 1. 6.
  • textsms
Java - 객체지향 - 단일 책임 원칙과 클래스 상속시에 주의할 점

Java - 객체지향 - 단일 책임 원칙과 클래스 상속시에 주의할 점

아래의 코드를 보면 단일 책임을 원칙을 위배하여 Unit이라는 클래스에서 저글링, 탱크, 정찰기 등 2가지 이상의 것들에 대해서 Unit이 책임을 지고 있다. 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 32 33 //단일 책임 원칙을 위배하여 코드를 작성한 예시이다. package SPR_test; public class Unit { private String name; public int speed; private int status; public void attack(){ } public void move(Object unit){ } public void move(){ if(name.equals..

  • format_list_bulleted Java
  • · 2022. 1. 6.
  • textsms
객체 설계하기 및 객체의 4가지 특성(캡슐화, 상속,다형성,추상화)

객체 설계하기 및 객체의 4가지 특성(캡슐화, 상속,다형성,추상화)

Unit 저글링 = new 저글링(); Unit 시즈탱크 = new 시즈탱크(); Unit 레이스 = new 레이스(); Unit 뮤탈 = new 뮤탈(); Unit뮤탈= new뮤탈(); unitMove(저글링); unitMove(시즈탱크); unitMove(레이스); unitMove(뮤탈); private void unitMove(Unit unit){ if(is저글링){... }else{... } // 이런식으로 다형성을 가지게 할 수 있음. unit.move() } 객체의 3가지 요소 1. 상태유지 ( 객체의 상태 ) 객체는 상태 정보를 저장하고, 유지되어져야하며 이러한 속성(variable)은 변수로 정의 되어져야 한다. 이러한 속성값이 바뀜으로 인하여, 객체의 상태가 변결될 수 있어야 한다. 2...

  • format_list_bulleted Java
  • · 2022. 1. 5.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ···
  • 8
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (253)
    • 빅데이터 (9)
    • R + 통계 (7)
    • Python +머신러닝 (8)
    • DB + SQL (24)
    • 네트워크 (12)
    • Java (47)
    • C# + WPF (5)
    • JSP(JavaServerPage) (6)
    • HTML + CSS (4)
    • JavaScript (15)
    • JavaFx (1)
    • Git (9)
    • OS (9)
    • Python (0)
    • AI (5)
    • 도서 (7)
    • 경영 (8)
    • Spring (31)
    • ElasticSearch (12)
    • DesignPattern (2)
    • 주식투자 (1)
    • Docker (4)
    • React (11)
    • 개인정보보호 (2)
    • Spring Security (1)
    • Backend (5)
    • FreeMarker (1)
    • NodeJS (1)
    • 자료구조+알고리즘 (1)
    • 일기 (1)
    • 개발 잡지식 (2)
최근 글
인기 글
최근 댓글
태그
  • #보통주
  • #데이터 수집기술
  • #Hadoop #RDBMS #NoSQL #MapReduce
  • #의존성주입 #DI #Spring
  • #보통주와우선주
  • #우선주
  • #메모습관 #신정철
  • #빅데이터 #빅데이터의 특징 #빅데이터의 정의 #빅데이터란 #빅데이터특성 #3V #5V
  • #ApacheServer
  • #TDD #JunitTest
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바