level up 과정 [JAVA]

주관식(1)

[문제] 분산 업무 시스템 개발을 위해 EJB와 Web 어플리케이션을 EAR(Enterprise Archiving) 어플리케이션으로 패킹하였다. 이때, ejb 와 war 등을 WAS 컨테이너에 배포하기 위한 디플로이 디스크립터 파일명은 무엇인가?

web.xml

[문제] 자바프로그램에서 변수 선언 시 String 변수를 선언하여 초기값을 대입하지 않으면 해당 변수에 할당되는 초기값은 어떤 것인가? 

없음 compile 오류 발생. variable xxxxx might not have been initialized

[문제] 자바에서 자기 자신의 데이터 필드를 참조하기 위해 사용하는 식별자는?

this

[문제] 다음 class CalDec의 실행 결과는?

class CalDec{
    public static void main(String args[]){
        int x = 1;
        int y = x++;
        x = 1;
        int z = ++x;
        System.out.println("CalDec y : " + y);
        System.out.println("CalDec z : " + z);
    }
}
CalDec y : 1
CalDec z : 2

 [문제] 다음 프로그램이 실행된 결과를 적으시오

int i = 1, j = 10;
do {
    if(i++> --j) {
        continue;
    }
} while (i <5);
System.out.println("i = " + i + "and j = " + j);
i = 5 and j = 6

[문제] 조건식이 참일 동안 문장 또는 블록을 반복 수행하라는 명령문은?

while

[문제] java JDK 관련 명령어를 어느 폴더에서나 이용하려면 JDK 실행 파일이 있는 폴더를 ( )에 추가하여야 한다.

환경변수(path)

[문제] 다음 예제 프로그램과 같이 배열을 반복 처리하려고 한다. 이때 (a)에 들어갈 수 있는 코드는 무엇인가?

//Test.java

public class Test {
    public static void main(String[] args) {
        int [][]nums = new int[2][];
        nums[0]=new int[2];
        nums[1]=new int[4];
        for(int i=0; i<nums.length; i++){
            for(int j=0; j<___(a)___; j++){
                nums[i][j]=i+j;
            }
        }
    }
}
nums[i][j]

[문제] J2SE 에서 DataBase 접근을 위해 JDBC 표준 API 를 제시하고 있다. JDBC 표준 API 에 의해 구현시 Connection 객체를 재사용 하기 위한 장치인 Connection Pool 에 대해서 아는대로 기술하시오.

Connection Pool : DB Connection을 위한 일종의 Framework. Connection Pool 시작 시 일정한 수의 물리적 커넥션을 만들며 이는 실행 중 커넥션 생성하는 오버헤드를 줄여 줌.

성능 이점 : DB Connection 생성은 처리 과정이 느리다. Connection Pool 안에서의 모든 실제 Connection들은 미리 만들어져 애플리케이션의 요청 처리를 위한 준비가 되어 있다. Connection을 더 이상 사용하지 않을 때에는 그것을 Pool에 반환시켜서 Connection 중단의 오버헤드를 감소시킬 수 있다.

관리 이점 : 동시 Connection들의 수를 제어할 수 있다. 동시 Connection들의 최대 수를 구성함으로써 DB의 동시 Connection을 제한하는 작업을 효율적으로 진행 가능하다.

[문제] 다음은 상속관계에 있는 Parent, Child 클래스이다. 하지만 Child 객체 생성 시에 오류가 생긴다. 이를 개선하기 위해 (A) 부분에 코드라인을 직접 서술하시오.

class Parent {
    String name;
    String addr;
    Parent(String name, String addr) {
        this.name = name;
        this.addr=addr;
    }
}

class Child extends Parent{
    String age;
    Child(String name, String addr, String age) {
        (A)
        this.age=age;
    }
}

public class Test {
    public static void main(String[] args) {
        Child child = new Child("tomas", "seoul", "33");
        System.out.println(child.name + " " + child.addr + " " + child.age);
    }
}
super(name, addr);

[문제] 다음 설명에 해당하는 java keyword를 쓰시오.

_____ keyword를 사용하는 이유는 동일한 method로 접근 가능한 서브 클래스를 설계하기 위한 목적으로 쓰인다.
_____ 로 선언된 클래스를 상속을 받는 서브 클래스는 반드시 method 오버라이딩을 해야 한다.
_____ 로 선언된 클래스는 하나 이상의 _____ method를 가진다.

abstract

[문제] switch 문에서 키워드 switch 다음의 expression의 평가 값은 무슨 자료 유형이어야 하는가?

int형이나 enum constants, 혹은 char처럼 int로 변환 가능한 Type

[문제] 다음은 웹서비스의 구성요소에 대한 설명이다. 무엇에 대한 설명인가?

  - 이것은 웹서비스의 공개와 검색을 위한 XML 레지스트리의 구현과 사용방법을 표준화한 것이다.
  - 이것의 스펙에는 웹서비스 중개자가 운영해야 할 XML 레지스트리 기능과 웹 서비스 제공자가 어떻게 자사의 웹서비스를 공개해야 되는지, 그리고 웹서비스 소비자가 어떻게 검색할 수 있는지에 대해서 언급하고 있다.

UDDI
※ 참고
UDDI (Universal Description, Discovery and Integration)
  - 웹 서비스의 Publish와 Find를 위한 XML 레지스트리 구현 및 사용 방법을 표준화
  - 웹 서비스 Broker가 운영할 XML 레지스트리 운영 방법에 대해 정의
  - 웹 서비스 Provider가 제공할 웹서비스 공개 방법에 대해 정의

WSDL (Web Service Description Language)
  - 웹 서비스의 인터페이스를 기술하는 XML 표현 방법을 표준화
  - 웹 서비스의 원격 프로시저를 이용하기 위한 argument, method, return 등을 기술하는 방법 정의
  - 웹 서비스 Consumer가 WDSL을 해석하여 binding 방법을 확인

SOAP (Simple Object Access Protocol)
  - 클라이언트와 서비스간의 정보 교환의 구조를 표준화
  - XML 문서 형태로 전송 프로토콜을 이용하여 전송하는 방법에 대해 정의

[문제] JDBC(Java Database Connectivity)는 Java를 이용한 어플리케이션 개발에 있어 DB를 이용하기 위해 사용하는 Java 기술이다. JDBC 기술에 대하여 설명하시오.

작성중 

[문제] JDK 1.5가 이전 버전에 비해 달라진 점 3가지 이상을 간단히 설명하시오.

Generics - 타입이 정의된 Collection에 대하여 불필요한 캐스팅 과정이 생략된다.
Autoboxing/Unboxing - 프리미티브 타입의 값과 래퍼 클래스의 값을 캐스팅없이 혼용해서 지정 가능하다.
향상된 루프 - for 안의 세미콜론(;) 대신에 콜론(:)을 사용한 일반화된 루프 표현이 가능하다.
Static import - dot(.) 표현없이 다른 클래스의 정적 멤버 및 메소드를 현재 클래스의 멤버와 메소드처럼 사용 가능하다.
Typesafe Enums - 기존에 주로 상수형으로 정의해서 사용하던 열거형에 대한 안전한 사용이 가능하다.
Varargs - 갯수가 정의되지 않은 가변 인수의 사용이 가능하다.

[문제] 자바로 만들어진 프로그램에서 해당 플랫폼에서만 실행 가능한 네이티브 코드(native code)에 접근하기 위해 만들어진 응용프로그램 인터페이스(API). 해당 플랫품만의 고유기능을 이용할 수 있고 다른 언어와 함께 공동 프로젝트가 가능하다. native 키워드를 사용해서 구현 가능하다. 무엇에 대한 설명인가?

JNI (Java Native Interface)

[문제] java 클래스 실행시 포함해야할 jar 파일이 존재할 경우 사용하는 옵션은 무엇인가

-classpath(-cp)

 

[문제] 일반적인 웹 어플리케이션의 배포기술자는 web.xml이다. 다음은 web.xml의 일부 구성을 표현하고 있는데, 아래 구성에서 기술하고자 하는 것은 무엇인가?

   

(중략)

    <servlet>
        <servlet-name>MyTestServlet</servlet-name>
        <servlet-class>com.sds.test.servlet.MyTestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyTestServlet</servlet-name>
        <url-pattern>/servlet/*.do</url-pattern>
    </servlet-mapping>

(중략)
1. 서비스하고자 하는 서블릿 모듈(MyTestServlet)을 등록
2. MyTestServlet에 대한 URL 호출 매핑 등록
3. URL 형태가 /servlet/ 아래 확장자가 do로 끝나는 호출일 경우 MyTestServlet을 호출하게 됨

[문제] 웹 어플리케이션에서 Spring Framework를 활용하기 위해, 아래와 같이 web.xml에 listener class를 등록하였다.

<!-- file : web.xml -->

<listener>
    <listener-class>
          org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

이렇게 등록된 Spring ContextLoaderListner 클래스에 context 파라미터를 주기 위한 방법을 기술하시오.

listener-class에 파라미터를 전달해 주기 위해서는 context-param 구성항목을 web.xml에 기술해 주어야 한다.
아래와 같이 
구성항목을 기술해주면 웹 어플리케이션 로딩 시 파라미터가 전달되어지게 된다. 
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/config/appConfig.xml</param-value>
</context-param>

 

댓글

댓글 본문
  1. 이름
    [문제] 다음 예제 프로그램과 같이 배열을 반복 처리하려고 한다. 이때 (a)에 들어갈 수 있는 코드는 무엇인가?
    의 답이 nums[i][j]라고 되어 있는데 nums[i].length가 맞는거 같네요.