-

1.자바란?

자바는 썬 마이크로시스템즈에서 개발하였으며 객체지향 프로그래밍 언어로써

가장 중요한 특징은 운영체제에 독립적이라는것입니다.

자바로 작성된 프로그램은 운영체제의 종류에 관게없이 실행이 가능하기 때문에

운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능합니다.

또한 자바는 클래스 라이브러리를 제공하기 때문에 클래스 라이브러리만 잘 활용해도

어느정도의 자바 프로그램을 작성할 수 있습니다.

 

 

2. JVM(Java Virtual Machine)이란?

자바를 실행하기 위한 가상 기계입니다.

(자바 어플리케이션이 싱행되기 위해 반드시 필요)

다른 어플리케이션의 코드는 OS만 거치고 하드웨어로 전달되는데 비해

Java 어플리케이션은 JVM을 한번더 거칩니다.

 

 

3. JDK(Java Develoment Kit)

 자바 개발 도구(JVM, 자바 클래스 라이브러리(API)

 

 

4. OOP(Object Oriented Programming)이란? 

객체 지향 프로그래밍을 의미하며 가장 중요한 점은 캡슐화상속다형성입니다.

캡슐화란 객체의 내부 구현을 얼마나 잘 숨기느냐 이며

상속이란 코드 재사용성을 얼마나 촉진하는가 입니다.

다형성은 상호 관련된 객체들을 얼마나 유사한 방법으로 다룰 수 있는가를 의미합니다.

쉽게말해서 다형성은 한 타입의 참조변수로 여러타입의 객체를 참조할 수 있도록 하는 것 입니다.

 <!--[endif]--> 

 

5. MVC 패턴이란?

어플리케이션을 크게 Model, View, Controller의 세 영역으로 구분하여

세 영역간의 결합도를 최소화한 패턴입니다.

제일 큰 장점으로는 비지니스 로직과 프리젠테이션 로직이 분리되어

유지보수와 확장이 용이합니다.

      

Model

Controller로 부터 전달 받은 객체 또는 데이터를 어플리케이션 비지니스 로직에

따라 가공처리하는 역할을 하며 필요에 따라 View나 Controller에게 변경된

객체를 전달한다.

      

View

사용자에게 보여줄 프리젠테이션 로직을 담당하는 영역입니다.

(자바 웹 어플리케이션 - jsp를 통해 구현합니다)

    

Controller

흐름을 관리하는 역활모델과 뷰 영역간에 조정 역활을 합니다.

사용자의 요청을 받아 이를 수행하기 위한 비지니스 로직을 선택하고

호출하며 수행한 비지니스 로직의 결과를 뷰를 통해 보여줍니다.

 

 

6. DAO?

데이터베이스의 액세스 하는 객체

     

 

7. myBatis?

ORM(Object Reltinal Mapping) 패턴을 쉽게 사용하기 위한 라이브러리입니다.

더 빠른 JDC 코딩을 위한 일반화된 프레임 워크 이며,

데이터베이스에 있는 자원들을 보다 편리하게 가져오기 위한 프레임워크입니다.

    

8. ORM(Object Relatinal Mapping)이란?

 "오브젝트간에 관게를 연결해주는 개념"으로 데이터베이스 상에서의 테이블간의 매핑 관계가 있는것 처럼 ORM 또한 같은 정의를 내릴 수 있습니다.

ORM 프로그래밍 기법에 따른 프레임워크로 대표적으로 IBatis, Oracle과 같은 프레임 워크가 있습니다

    

10. 가비지 컬렉션(Garbage Collection)

시스템에서 더이상 사용하지 않는 동적 할당된 메로리 블럭 또는 개체를 찾아 자동으 로 다시 사용 가능한 자원으로 회수하는 것으로 시스템에서 가비지컬렉션을 수행하는 부분을 가비지 컬렉터라 부른다.

   

11. 오버로딩 오버라이딩

오버로딩은 기존의 메서드의 인자를 이용하여 하나의 함수에 여러가지 기능을 만드는 것.

오버라이딩은 상위 클래스에 있는 메서드와 똑같은 메서드를 하위 클래스에서 다시 만드 는 행위를 말합니다즉 하위클래스에서 메서드를 재정의하는것을 의미합니다.

주로 생성자 메서드를 정의할때 많이 사용합니다.

   

12. 자바의 데이터 타입인 primitive type과 reference type에 대해 설명

primitive type은 변수에 값 자체를 저장하며

종류는 boolean byte char short int float long double

reference type은 메모리상에 객체가 있는 위치를 저장합니다.

     종류는 클래스타입인터페이스 타입배열 타입열거타입

 

<!--[endif]--> 

13. 다형성이란 무엇인가?

여러가지 데이터를 다룰 수 있는 특성을 의미합니다.

조상 클래스의 인스턴스를 이용하여 자손 타입의 클래스를 다룬다거나

메서드 오버로딩을 통하여 동일 이름의 메서드를 이용하여

다양한 형태의 파라미터를 다루는것을 뜻합니다.

 

 

14. 멀티 쓰레드의 장점

두 가지 이상의 작업을 동시에 실행할 수 있어 자원을 효율적으로

이용할 수 있으나 deadlock 및 동기화에 대한 철저한 검증이 필요하다.

 

    

15. java 콜렉션의 대표 인터페이스는?

   List - 순서가 있는 데이터의 집합으로 데이터의 중복을 허용합니다.

  구현 클래스 - ArrayList, LinkedList, Stak, vector

 

   SET - 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다.

   구현 클래스 - HashSet, TreeSet

 

  Map -카와 값의 쌍으로 이루어진 데이터의 집합으로 순서는 유지되지 않으며 키는 중복을

  허용하지 않고값은 중복을 허용합니다.

  구현 클래스 - HashMap, TreeMap, Properties, HashTable

   

16. 접근 제어자의 종류와 특성에 대하여 설명하시오,

1. private - 같은 클래스 내에서만 접근이 가능

2. defaulte - 같은 패키지 내에서만 접근이 가능

3. protected - 같은 패키지 내에서그리고 다른 패키지의 자식클래스에서 접근이 가능

4. public - 접근 제한이 전혀 없다.

   

17. 객체 직렬화란 무엇인가?

객체를 데이터 스트림으로 만드는것을 말합니다.

객체에 저장된 데이터를 스트림에 쓰기 위해 연속 적인 데이터로 변환하는것을 말한다.

반대로 스트림으로부터 데이터를 읽어서 객체를 만드는것을 역직렬화라고 한다.

직렬화가 가능하게 하기위해서는 java.io.serializable 인터페이스를 구현하면 된다.

 

 

18.Wrapper 클래스란 무엇인가?

primitive type으로 표현할 수 있는 간단한 데이터를 객체로 만들어야 할 경우가 있는 데 그러한 기능을 지원한느 클래스를 뜻합니다.

종류(Byte, Short, Integer, Long, Character, Float, Double, Boolean

   

19.추상 클래스란 무엇인가?

클래스를 설계도에 비유한다면 추상 클래스는 미완성 설계도에 비유할 수 있습니다.

미완성 설계도란 완성되지 못한 채로 남겨진 설계도를 말하는데 클래스가 미완성이라는 것은 멤버의 개수에 관계된것이 아니라 미완성 메서드즉 추상 메서드를 포함하고 있 다는 의미 입니다.

추상 클래스는 인스턴스를 생성할 수 없으며 추상 클래스는 상속을 통해 자손 클래스에 의해서만 완성이 가능합니다.

   

20. 인터 페이스란?

일종의 추상 클래스이다인터페이스는 추상 클래스처럼 추상 메서드를 갖지만 추상 클래스 보다 추상화 정도가 높아서 추상 클래스와는 달리 몸통을 갖춘 일반 메서드 또 는 멤버 변수를 가질 수 없다.

오직 추상 메서드와 상수만을 멤버로 가질 수 있으며그 외에 어떠한 요소도 허용하지 않습니다.

인터페이스는 인터페이스로 부터만 상속 받을 수 있으며 클래스와는 달리 다중 상속즉 여러개의 인터페이스로부터 상속을 받는것이 가능합니다.

   

21. Spirng에서 DI?

Dependency Injection의 약자로 의존성을 주입하는것을 뜻합니다.

설정 파일을 통해 객체간에 의존관계를 설정함으로서 외부 어셈블러가 객체간의

의존 관계를 정의하게 되며객체는 직접 의존하고 있는 객체를 생성하거나 검색할 필 요가 없어지므로 코드 관리가 쉬워진다.

   

22. Spring에서 AOP?

Aspect Oriented Programing을 뜻하며 다양한 곳에서 자주 사용되는

공통관심 요소를 단일 기능으로 뽑아내어 코드의 중복을 줄이고 관리의 효율성을

높이는것을 목적으로 합니다.

23. jquery? <!--[endif]--> 

자바스크립트 라이브러리의 일종이다.

기존 자바스크립트 문장을 줄일 수 있으며

라이브러리 자체도 가볍고 설치도 필요없이 사용 가능하다.

장점으로는

HTML과 DOM,CSS의 변경이 간편

이벤트 처리가 간편

애니메이션 같은 각종 효과를 주기가 쉬우며

Ajax, JSON 처리가 간편하다

   

24. ajax?

비동기식 자바스크립트와 xml을 의미한다.

아작스의 핵심은 웹페이지를 리로딩 하지않고

웹페이지 일부만을 갱신하여 웹서버와 데이터를 교환하는 방법입니다.

 

    

25. spring framework

자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 프레임워크이다.

EJB의 복잡함과 개발의 어려움을 대체하기 위한 프레임워크이며

자바빈즈를 사용하지만 EJB에서 할 수 있던 작업이 가능하며

간소함테스트의 용이성느슨한 결합성의 측면이 스프링 프레임워크의 이점이다. <MVC 패턴, DI, AOP, IOC(제어 역행등등 있는데 간단하게 공부하면서 알아가세요!>

    

26.구구단 코딩 가능?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.Scanner;
 
public class GuGuDan {
 
    public static void main(String[] args) {
        Scanner st = new Scanner(System.in);
        
        System.out.println("단입력=>");
        int dan = st.nextInt();
        
        for(int i=1; i<10; i++){
            int total = dan * i;
            System.out.println(dan+"*"+i+"="+total);
        }
        
    }
}
 
cs

 

 

27. String 과 StringBuffer의 차이점

String 을 쓰면 새로운 메모리를 계속만들게 되는데

스트링버퍼를 쓰면 어펜드 메소드를 가지고 첨부하는형식으로 메모리를 절약 

  

28 쓰레드? 

스레드(Thread) 정의

  프로세스의 자원을 이용해서 실제로 작업을 수행

스레드(Thread) 특징

​어플리케이션의 성능을 향상을 시킬수 있고 구현이 쉽다. 작은투자로 큰효과를 기대

스레드(Thread)의 장점 /  단점

장점은 특징과 같고 /단점으로는 교착상태에 빠지기 쉽다 그이유는 동기화 때문에 자원을 공유하기 때문이다.

 

29.JDBC의 정의?

 java에서 데이터베이스와 관련된 작업을 처리할 수 있도록 도와주는 API

JDBC 코딩 단계?

  jdbc 드라이버 로딩 -> 데이터베이스 커넥션->쿼리 실행을 위한 Statement 객체 생성->쿼리실행->자원정리

이밖에

servlet과 Jsp의 차이점

서블릿의 생성주기

모델1,2패턴의 비교

세션과 쿠키의 차이점과 사용용도

get과 post의 차이점이 있는데 이는 공부를 하며 답을 찾아보세요


다른 카테고리의 글 목록

취업Q&A 카테고리의 포스트를 톺아봅니다