Java 37

[JAVA] 객체 지향 프로그래밍(OOP)의 특징

객체 지향 프로그래밍은 프로그래밍에서 필요한 데이터를 추상화시켜서 상태, 행위를 가진 객체를 만들어 서로 연관관계를 맺어 로직을 구성한다. 추상화, 캡슐화, 상속, 다형성의 특징을 갖는다. 추상화 공통적인 상태나 행위를 하나로 묶는 것. 체적인 것을 상세히 하지 않고, 필요성에 의한 특성만 구성하는 것. 예를 들어, K3, 아반떼, 그랜져 등을 자동차라는 추상적인 객체로 정의하는 것. 캡슐화 데이터 구조와 데이터를 다루는 방법을 결합시켜서 묶는 것. 중요한 데이터를 보존, 보호하는 것이다. (은닉성 보장) 외부에서 접근하지 못하도록 한다. 상속 자식은 부모의 것을 물려받는다. 중복 코드를 줄이고, 객체의 다형성을 구현할 수 있다. 다형성 하나의 변수명, 함수명 등이 상황에 따라 다른 의미로 해석될 수 있..

Java 2021.04.06

[JAVA] DB와 관련된 (순수 JDBC, JDBC 템플릿, JPA)

JAVA를 통해 앱 개발을 하면 DB를 참조해야 하는 상황이 있다. 이때, Plain JDBC부터 스프링 JPA까지 다양한 방법이 있다. Plain JDBC JAVA 기반 앱에서 JDBC API, JDBC Driver를 통해 DB에 접근한다. 1) JDBC Driver를 로드하고 DriverManager를 통해 JDBC Driver 호출, DB와 통신을 담당하는 클래스 2) DB에 연결하고 SQL문으로 DB를 사용 Statement (SQL문 전달 역할), ResultSet (쿼리문 실행 결과 저장, 한 행씩 호출 가능), PreparedStatement(Statement 객체 기능 향상, 코드 안전성, 가독성 높임, 매개변수 전달에 용이함.) 3) DB 연결 종료 close()를 통해, 연결, 연결상태..

Java 2021.04.06

[JAVA] 접근 제어자

JAVA 접근 제어자 변수, 메서드, 클래스에 대한 접근을 제어한다. public > default > protected > private 순으로 접근 범위가 크다. (더 자유롭게 접근한다.) 왜 사용하는가? 객체 지향 프로그래밍 (OOP) 특징 중 정보은닉이란 사용자가 굳이 알 필요 없는 정보는 사용자로부터 숨겨야 한다는 개념이다. 이를 통해 최소한의 정보로 손쉽게 프로그램을 사용할 수 있도록 한다. JAVA에서는 정보은닉을 위해 접근 제어자를 사용한다. JAVA에서 접근 제어자 public : 접근 제한이 없음. protected : 동일한 패키지 내에 존재하거나 파생 클래스(상속받은 자식 클래스)에서만 접근 가능함. default : 접근 제어자를 명시하지 않으면 default, 동일한 패키지 내에..

Java 2021.04.01

Lambda

Lambda 함수? 프로그래밍에서 익명 함수를 나타낸다. 함수를 더 단순하게 표현한다. 병렬처리와 이벤트 지향 프로그래밍에 적합하다. 표현식 // 방법 1. (매개변수) -> {함수} // 방법 2. 매개변수가 하나일 경우 생략 가능 () -> {함수} // 방법3. 함수가 단일 실행문이면 {} 생략 (매개변수) -> 함수 // 방법4. 함수가 return문으로만 구성된 경우 {} 생략 불가 (매개변수) -> {return ;} 사용 예제 public interface PlusOne { int one(int num); } // ... PlusOne plusOne = new PlusOne() { @Override public int one(int num) { return num + 1; } } // .....

Java 2021.03.30

Maven, Gradle

Maven과 Gradle은 빌드 툴이다. 빌드*? 우리가 작성한 소스코드, 프로젝트에 사용되는 자원 등을 JVM이나 WAS**(ex, tomcat)가 인식할 수 있는 구조로 패키징 하는 과정 혹은 그 결과물. * 빌드는 소스 코드 컴파일, 테스트 코드에 대한 컴파일 후 실행, 테스트에 대한 리포트, 추가 설정 작업 진행 후 패키징을 수행, 결과물을 만들어낸다. ** WAS? Web Application Server, 웹에서 동적 컨텐츠를 제공하기 위해 사용되는 서버 빌드 툴? 소스코드 빌드 과정을 자동으로 처리해주는 프로그램, 외부 소스 코드를 자동으로 추가 및 관리. 크지 않은 프로젝트의 경우 라이브러리를 관리하는데 어려움이 없지만, 스프링 프레임워크를 사용해 웹 개발을 할 때만 해도 많은 라이브러리,..

Java 2021.03.30

DAO, DTO

JSP, Servlet에서 DB를 참조할 때 사용하는 객체. DAO: Data Access Object DAO는 DB에 접근할 때 사용하는 객체. DB를 사용해 데이터를 조회하거나 생성 수정 삭제하는 기능을 전담한 객체. DTO: Data Transfer Object VO (Value Object)라고도 한다. DTO는 DB의 데이터 형태 (NUMBER, VARCHAR2 등)을 자바 코드에서 사용하는 데이터 형태(int, String 등)로 변환해주는 객체이다. 보통 getter, setter 메서드를 가진 클래스로 데이터를 사용하기 위해 선언하는 객체다. 커넥션 풀 (Connection Pool) 웹서버가 계속해서 DB를 연결, 연결해제를 반복하면 DB에 과부하가 될 경우가 있어 중간에 커넥션 풀을 통..

Java 2021.03.29

JSP, Servlet

Spring 프레임워크를 배우기 전에 JSP, Servlet에 대한 개념을 익히고자 한다. JSP Java Server Page의 약자로, HTML 문서 내에서 JAVA 코드를 사용할 수 있는 파일 형식이다. 태그를 추가하는 형식으로 태그 내부에 JAVA 코드를 사용한다. JSP는 톰캣과 같은 웹 컨테이너에서 java file로 만들어지고, class file로 만들어진 후 html 파일 형식으로 출력된다. 1) page : 페이지 기본 설정, 속성에 대한 속성 값 2) include : 해당 JSP 파일에 다른 파일을 추가함. 3) taglib : 외부 라이브러리 태그 설정. (prefix는 namespace 이름) 선언 태그를 통해 JAVA 변수 선언 및 초기화. 0) { %> num > 0 num ..

Java 2021.03.27
반응형