나를 기록하다
article thumbnail
[TIL-58/240615] 기술면접(자바)
TIL 2024. 6. 15. 22:23

기술면접 질문(자바)Java의 특징을 설명하라.Java는 대표적인 객체지향 프로그래밍 언어로써 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다.장점으로썬 JVM 위에서 동작하기 때문에 운영체제에 독립적이고,가비지 컬렉터를 통한 자동적인 메모리 관리가 가능하다가 있습니다.단점으로썬 JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리고,다중 상속이나 타입에 엄격하여 제약이 많다가 있습니다. JVM의 역할에 대해 설명하라.JVM은 스택 기반으로 동작하며, Java Byte Code를 OS에 맞게 해석해주는 역할을 하고 가비지 컬렉션을 통해 자동적인 메모리 관리를 해준다. 자바 애플리케이션의 구동 원리를 설명하라.자바 애플리케이..

article thumbnail
[TIL-54/240408] MyBatis
TIL 2024. 4. 9. 08:43

MyBatis 특징 SQL 매핑 프레임워크 SQL문과 저장 프로시저(Stored Procedure)등의 매핑을 지원하는 퍼시스턴스 프레임워크(persistence framework) JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 처리를 대신해줌 Map 인터페이스 그리고 자바 POJO를 설정 데이터베이스와 매핑해서 사용 가능 XML과 Annotation 설정을 통해 사용할 수 있음 MyBatis 동작 구조 MyBatis는 SQL을 처리하고 Java 객체와 DB간의 매핑을 처리한다. MyBatis 구성 요소 MyBatis는 SqlSession 인터페이스를 통해 DB와 상호작용 한다. SqlSessionFactory SqlSession 객체를 생성하는 팩토리 클래스 런타임 도중 CRUD 처리 ..

article thumbnail
[TIL-50/240322] JDBC
TIL 2024. 3. 23. 00:40

JDBC JDBC란? Java Database Connectivity, 자바 프로그래밍 언어를 사용해 데이터베이스에 접근할 수 있도록 하는 자바 API JDBC를 이용하여 DB에 접속, SQL 실행, 데이터를 가져오거나 삭제하는 등 데이터를 다룰 수 있음 JDBC가 등장하게 된 배경 DB 접근의 표준화를 위해서 등장 JDBC 등장 이전 DB마다 존재하는 고유한 API를 직접 사용 이에 따라 개발자는 기존의 DB를 다른 DB로 교체해야하는 경우 DB에 맞게 기존의 코드도 모두 수정해야 했으며 심지어 각각의 DB를 사용하는 방법도 새로 학습해야 했음 → JDBC의 표준 인터페이스 덕분에 개발자는 DB를 쉽게 변경할 수 있게 되었고 변경에 유연하게 대처할 수 있게 됨 JDBC를 알아야 하는 이유 JDBC는 매..

article thumbnail
[TIL-44/240314] Filter & Interceptor
TIL 2024. 3. 15. 00:23

오늘은 Filter와 Interceptor에 대한 공부를 하였다. 먼저 Listener, Filter, Interceptor의 정의에 대해서 알아보고, 이번 내용의 핵심인 Filter와 Interceptor를 비교하면서 정리하고자 한다. Listener부터 시작하겠다. Listener, Filter, Interceptor Listener란? 프로그래밍에서 Listener란 특정 이벤트가 발생하기를 기다리다가 실행되는 객체 이벤트란 특정한 사건 발생 버튼 클릭 ,키보드 입력, 컨테이너 빌드 완료, 웹 어플리케이션 시작, HTTP 요청 수신 등 서블릿 컨테이너에서 발생하는 이벤트 감지 web.xml 파일에 태그를 이용하여 사용 가능 리스너가 여러 개일 경우 보통 선언된 순서대로 실행되지만 아닌 경우도 있음 ..

article thumbnail
[디자인 패턴] Builder 패턴
Java/디자인 패턴 2023. 12. 13. 14:24

Builder 패턴 일반적으로 구조를 갖춘 큰 구조물을 건축하거나 구축하는 것을 build라고 하고, 구조를 갖춘 커다란 건축물을 빌딩(building)이라고 한다. 빌딩을 지을 때는 먼저 지반을 다진 후, 뼈대를 만들고 아래에서 위로 조금씩 만들어 간다. 대체로 복잡한 구조를 가진 구조물을 만들 경우, 단숨에 완성하기는 어렵다. 우선 전체를 구성하는 각 부분을 만들고 단계를 밟아가며 만들게 된다. 이러한 구조를 가진 인스턴스를 만들어 가는 Builder 패턴에 대해 알아보자. 예제 프로그램 Builder 패턴을 사용해 '문서'를 작성하는 프로그램 문서는 다음과 같은 구조로 되어 있다. 타이틀을 한 개 포함한다 문자열을 몇 개 포함한다 항목을 몇 개 포함한다 Builder 클래스에서는 문서를 구성하는 메..

article thumbnail
[디자인 패턴] Prototype 패턴
Java/디자인 패턴 2023. 12. 12. 21:30

Prototype 패턴 Something 클래스의 인스턴스를 만들고자 할 때 우리는 다음과 같이 new라는 Java 언어의 키워드를 사용해서 클래스 이름을 지정하고 인스턴스를 생성한다. new Something() 이처럼 new를 사용해 인스턴스를 만들 때는 클래스 이름을 반드시 지정해야 한다. 그러나 클래스 이름을 지정하지 않고 인스턴스를 생성하고 싶을 때도 존재한다. 다음과 같은 경우에는 클래스로부터 인스턴스를 만드는 대신 인스턴스를 복사해서 새 인스턴스를 만든다. 종류가 너무 많아 클래스로 정리할 수 없는 경우 취급할 오브젝트 종류가 너무 많아서, 하나하나 다른 클래스로 만들면 소스 파일을 많이 작성해야 하는 경우 클래스로부터 인스턴스 생성이 어려운 경우 생성하고 싶은 인스턴스가 복잡한 과정을 거쳐..

profile on loading

Loading...