기술면접

[기술면접준비] 2022.05.10

개발자 배찌 2022. 5. 10. 15:18
728x90

OOP란?

- Object Oriented Programing. 객체 지향 프로그래밍.

- 객체의 관점에서 프로그래밍 하는 것. 코드의 재사용성과 중복제거가 가장 큰 목적

- 객체들의 유기적인 관계를 통해서 프로세스가 진행된다. 반면에 c언어는 절차지향프로그래밍인데, 프로세스가 함수 단위로 순서대로 진행된다.

- OOP의 특징은 추상화, 캡슐화, 상속, 다형성이다.

 

OOP 특징

- 추상화 : 객체의 공통된 속성을 클래스로 정의하는 설계 기법

- 캡슐화 : 외부에 노출할 필요가 없는 정보들은 은닉 (정보은닉)

- 상속 : 상속 관계에 있는 두 클래스에 대해, 부모 클래스가 자손 클래스에게 속성을 물려주는 것. 코드의 재사용이 목적

- 다형성 : 같은 형태이지만 다른 기능을 하는 것. 오버라이딩은 이와 관련된 기능임

 

 

자바의 메모리영역에 대해서 설명해보세요

- 메서드영역 : 클래스 정보들이 있음. 코드에서 사용되는 클래스들을 로더가 읽고,

                   클래스에 대한 정보를 메소드영역에 저장.

- 스택 : 메소드가 호출되면, 메소드의 호출과 관계되는 지역 변수와 매개변수를 스택 영역에 저장

- 힙 : 자바 프로그램에서 사용되는 모든 인스턴스 변수가 저장되는 영역.

 

 

리플렉션이란?

리플렉션은 컴파일러를 무시한 채 런타임 상황에서 메모리에 올라간 클래스나 메서드 등의 정의를 동적으로 찾아 조작할 수 있는 행위를 말합니다.

즉, 동적인 언어가 가진 특징이라고 볼 수 있고 프레임워크에서 유연성이 있는 동작을 위해 사용됩니다.

 

 

Servlet과 JSP.를 비교해서 설명하세요

Servlet은 순수 자바 코드로만 이루어져 있습니다. 자바 언어로 웹 개발을 하기 위해 만들어진 것

JSP는 html 기반에 자바 코드를 블록화하여 삽입한 것으로 서블릿을 좀 더 쉽게 접근할 수 있도록 만들어진 것