본문으로 건너뛰기

#Java

44
FundamentalTILDesign pattern

Command pattern

Command패턴은 이벤트가 발생했을 때 실행될 기능이 다양하면서도 변경이 필요한 경우에 이벤트를 발생시키는 클래스를 변경하지 않고도 재사용을 가능하게 할때 유용하다. 실행될 기능을 캡슐화함으로써 기능의 실행을 요구하는 Invoker 클래스와 실제 기능을 실행하는 Receiver클래스 사이의 의존성을 제거한다. 따라서 실행될 기능의 변경에도 Invoker 클래스를 수정없이 그대로 사용할 수 있도록 해준다. 램프를 켜는 버튼을 만들어보자 Button클래스의 생성자를 이용해 불을 켤 Lamp객체를 전달한다. Button클래스의 pres
Java EcoTILJava programming

Collection framework; Collection interface

프로그램을 개발 할 때 사용하는 자료를 관리하는 방법론이 자료구조다. 자료구조는 프로그램 실행 중 메모리에 자료를 유지, 관리 하기 위해 사용한다. Java에서는 필요한 자료구조를 미리 구현하여 java.util 패키지에 제공하고 있고, 이것을 컬렉션 프레임워크 라고 한다. 컬렉션 예제에 사용할 DAO 코드 memberId와 memberName로 이루어진 getter/setter를 가지는 간단한 DAO다. boolean add(E e) : Collection에 객체를 추가한다. void clear() : Collection의 모든
Java EcoTILJava programming

Java; Generics Type

프로그램에서 변수를 선언할 때 모든 변수는 자료형이 있다. 메소드에서 인자를 사용할 때도 자료형을 갖고 있따. 변수나 메소드의 자료형을 필요에 따라 여러 자료형으로 바꿀 수 있다면 프로그램이 훨씬 유연할 것이다. 어떤 갑싱 하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍 하는 것을 Generic programming 이라고 한다 Generic 프로그램은 reference 자료형에 대한 검증을 컴파일러가 해 안정적이다. Collection 역시 generic으로 구현되어있다 (ex ArrayList<Stri
BlogTILThink

2021 1/4 중간점검 part3

자바 다시 보기 로드맵 짜기 디자인 패턴 책 비교 C 다시보기 로드맵 짜기 → Do it 자바 프로그래밍 (우테코 할 때 보던거 마저 보기) [ ] Class Object String Wrapper [ ] ⭐️ Generics [ ] Collection → 아는 내용이니 간략하게만 지나가겠음 List ArrayList LinkedList Set HashSet TreeSet Map HashMap TreeMap [ ] 내부클래스 익명 내부 클래스 [ ] ⭐️ Lambda Functional programming Lambda
EngineeringTILWeb application

Maven과 gradle의 차이

두 빌드 툴의 사용법은 인터넷에 잘 정리된 글이 많으니 차이점에 대해서 설명해보고자 한다. Apache에서 만든 소프트웨어 프로젝트 관리 및 comprehension 툴이다. POM 개념을 기반으로 프로젝트의 빌드, 보고 및 문서를 중앙 관리할 수 있다. → 프로젝트의 빌드 Lifecycle 기반 프레임워크. mvn 명령어로 관리한다. XML기반의 pom.xml파일로 설정한다. Maven을 대체할 수 있는 프로젝트 구성 관리 및 범용 빌드 툴이다. gradle 명령어로 관리한다. 스크립트 기반의 build.gradle파일로 관리한다
Java EcoTILJava programming

Java; Reflection 개요

자바에서 제공하는 리플렉션(Reflection)은 C, C++과 같은 언어를 비롯한 다른 언어에서는 볼 수 없는 기능입니다. 이미 로딩이 완료된 클래스에서 또 다른 클래스를 동적으로 로딩(Dynamic Loading)하여 생성자(Constructor), 멤버 필드(Member Variables) 그리고 멤버 메서드(Member Method) 등을 사용할 수 있도록 합니다. 그러니까, 컴파일 시간(Compile Time)이 아니라 실행 시간(Run Time)에 동적으로 특정 클래스의 정보를 객체화를 통해 분석 및 추출해낼 수 있는 프
Java EcoTILSpring Framework

Spring Boot; 훑어보기#3 - JDBCTemplate

H2 데이터베이스 순수 JDBC 스프링 JdbcTemplate : JDBC 중복을 제거해서 만든 템플릿 JPA : 객체를 쿼리 없이 DB에 저장하는 방법 스프링 데이터 JPA : JPA를 간단하게 쓰기 위한 스프링의 Wrapping official site bin/h2.sh 실행 JDBC URL : jdbc:h2:tcp://localhost/~/h2/test 파일로 직접 접근하지 말고 TCP로 접속. build.gradle 추가 Connection 객체 : DB연결 객체 PreparedStatement 객체 : 쿼리와 코드를 매칭해
Java EcoTILSpring Framework

Spring Boot; 훑어보기#2 - GetMapping, PostMapping

URI를 매핑하고 템플릿으로 반환한다. (String) 접근을 변수에 바로 하더라도 getter로 접근하여 (propperties방식) 반환받는다. Controller를 먼저 찾고 없으면 static 파일을 찾는다.