본문 바로가기

분류 전체보기

(198)
면접질문: Spring Framework에서 Annotation을 사용하는 예시를 설명해주세요. 스프링 mvc에서 이용하는 @Controller에 대해 알아봅니다.  @Controller 애노테이션이란?- 스프링 프레임워크에서 컨트롤러 역할을 하는 클래스가 지정됩니다.- 클라이언트 요청을 받고 응답을 생성하는 역할을 합니다. @Controller 어노테이션 사용방법- @Controller으로 지정된 클래스는 HTTP 요청을 처리하기 위한 메서드들을 포함합니다.- 각 메서드는 @RequestMapping 어노테이션과 함께 특정 url 패턴에 대한 처리를 정의합니다.- @RequestMapping 어노테이션을 사용하여 요청 url과 메서드를 매핑시키고, 메서드는 요청을 처리하고 필요한 로직을 수행한 후 응답을 생성합니다.- 컨트롤러 메서드에서는 응답데이터와 뷰를 제공합니다.
면접질문: Java Annotation에 대해 설명해주세요. 애너테이션이란?- 자바를 개발한 사람들은 소스코드에 대한 문서를 따로 만들기보다 소스코드와 문서를 하나의 파일로 관리하였습니다.- 소스코드 /**~*/ 주석안에 소스코드에 대한 설명들이 있고, @이 붙은 미리 정의된 태그들을 이용해서 주석 안에 정보를 저장하고, javadoc.exe라는 프로그램이 이 정보를 읽어서 문서를 작성하는데 사용하였습니다.- 애너테이션은 프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것입니다. ex)- 자신이 작성한 소스코드 중에서 특정 메서드만 테스트하기 원할 수 있습니다.- @Test라는 애너테이션을 붙여 이 메서드를 테스트해야 한다는 것을 테스트 프로그램에게 알리는 역할을 합니다.- 메서드가 포함된 프로그램 자체에는 아무런 영향을 미치지..
05/07 18일차 객체지향언어II : 예외처리 프로그램 오류- 컴파일할 때 발생하는 에러가 컴파일 에러입니다.- 실행할 때 발생하는 에러가 런타임 에러입니다.- 런타임 에러는 에러와 예외로 나눠집니다.- 프로그램 코드에 의해서 해결할 수 없는 심각한 오류를 에러(error)라고 부릅니다.- 프로그램 코드에 의해서 해결가능한 오류를 예외(Exception)라고 부릅니다. 예외처리란?- 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것입니다. (정의)- 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것입니다. (목표) try-catch문에서의 흐름class Exception{ public static void main(String[] args){ System.out.println(1); Syst..
05/07 18일차 객체지향언어II : super(), package와 import super란- 조상 멤버와 자신의 멤버를 구별하는데 사용하는 참조변수class Point{ int x; int y; String getLocation(){ return "x: "+x+" y: "+y; }}class Point3D extends Point{ int z; String getLocation(){ // 오버라이딩 return super.getLocation() + "z: "+z; // 조상의 메서드 호출 }} package()- 서로 관련된 클래스와 인터페이스의 묶음입니다.- 클래스의 실제 이름은 패키지명을 포함합니다. 클래스패스(classpath)- 클래스패스는 클래스 파일을 찾는 경로입니다.- 클래스패스에 패키지가 포함된 폴더나 jar ..
05/03 17일차 객체지향언어II : 상속, 오버라이딩, package와 import 상속이란?- 기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것입니다.- 자손은 조상의 모든 멤버를 상속받습니다.- 자손의 멤버개수는 조상보다 적을 수 없습니다. 포함이란?- 한 클래스의 멤버변수로 다른 클래스를 선언하는 것입니다.- 작은 단위의 클래스를 먼저 만들고, 이들을 조합하여 하나의 커다란 클래스를 만들었습니다.class Car{ Engine e = new Engine(); // 엔진 Door[] d = new Door[4];} 클래스간의 관계결정하기- 원은 도형이다(Circle is a Shape) : 상속관계- 원은 점을 가지고 있다(Circle has a point) : 포함관계class Shape{ String color = "blue"; void draq(){};}clas..
다이나믹 프로그래밍_1912 : 연속합 JAVA 문제n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다.예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다.입력첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다.출력첫째 줄에 답을 출력한다.예제 입력 1 복사1010 -4 3 1 5 6 -35 12 21 -1예제 출력 1 복사33예제 입력 2 복사102 1 -4 3 4 -4 6 5 -5 1예..
05/02 16일차 객체지향언어I : 생성자, 변수의 초기화 기본형 매개변수와 참조형 매개변수- 기본형 매개변수 : 변수의 값을 읽기만 할 수 있습니다.- 참조형 매개변수 : 변수의 값을 읽고 변경할 수 있습니다. 재귀호출- 매서드내에서 자기 자신을 반복적으로 호출할 수 있습니다.- 재귀호출은 반복문으로 바꿀 수 있으며, 반복문보다 효율이 낮습니다.- 팩토리얼, 제곱, 폴더 목록 표시 등에 사용됩니다.int Factorial(int n){ if(n==1) return 1; return n*Factorial(n-1);} 멤버간 참조와 호출- 같은 클래스간에는 객체생성이나 참조변수 없이 참조할 수 있다. 그러나 static 멤버들은 instance 멤버들을 참조할 수 없습니다.class Test{ void instanceMethod(){}; stat..
면접질문: Docker에 대해 설명해주세요 Docker 사용하는 이유  - 물리 서버에 수많은 VM을 설치하여 장애조치와 서버 이중화를 지원하고 하드웨어 활용률을 높였습니다.- VM은 Host O/S 위에 Hypervisor 엔진 위에 Guest O/S를 올려 사용합니다.- O/S위에 O/S를 올리기 때문에 무겁고 느려집니다. Docker란  - 리눅스 컨테이너를 기반으로 하는 오픈소스 가상화 플랫폼입니다.- 컨테이너 기반 가상화는 Host O/S 위에 Docker 엔진 위에서 바로 동작하며 Host 커널을 공유합니다.- 커널을 공유하면 I/O 처리가 쉽게 되어 성능의 효율을 높일 수 있습니다.- 컨테이너를 사용하는 것은 Host O/S가 사용하는 자원을 분리하여 프로세스에 필요한 여러 환경을 만들 수 있기 때문입니다.  Dockerfile이란?..