sin prisa pero sin pausa

면접 준비1 본문

더 알아보고 싶은데?

면접 준비1

EstherDmt 2021. 8. 10. 00:03
반응형

GET/POST 방식 

GET방식은 HTTP HEADER에 데이터 값을 포함해서 서버로 전송하는 방법으로 

URL 상에 이름과 값으로 데이터가 포함이 되어있기 때문에 보안에 취약하다는 단점이 있으며 

보낼 수 있는 길이에 제한이 있다는 단점이 있다. 

POST 방식은 HTTP BODY에 데이터 값을 포함해서 서버로 전송하는 방식으로 

클라리언트에게 전송 데이터값이 보이지 않기 때문에 보안에 더 강하다는 장점과 

쿼리스트링과 같은 문자열 이외에도 라디오 버튼이나 체크박스 등의 객체 형태의 값을 전송할 수도 있다.

 

SESSION과 COOKIE

세션은 웹 브라우저에 사용자가 머무는 기간 혹은 사용자의 1회의 방문 횟수를 뜻하기도 한다. 

Session 값은 server에 저장이 되기 때문에 웹 브라우저가 종료되거나 서버 삭제 시 그 값이 사라지게 된다. 

Cookie보다는 더 보안성이 좋다고 할 수 있다. 

Cookie는 웹 브라우저에서 사용자의 값을 유지하기 위한 방법으로 웹 사이트 방문 기록을 남기고 

그 기록은 서버가 아닌 Client 쪽의 텍스트파일로 남기 때문에 임의로 파일 수정이 가능한 면에서 보안면에 있어서 

취약하다고 할 수 있다. 

하지만 session에 모든 정보를 저장하게 되면 server 메모리가 과도하게 저장되어 server에 무리가 간다. 

 

primitive type / reference type

int, short, long, double, boolean, char, float, byte 

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

reference type은 메모리 상의 객체의 위치값을 저장한다. 

 

자바에서 객체란?

new 연산자를 통해 메모리 영역에 생성된 것

 

추상화란 

유연성을 확보하기 위한 작업으로 클래스 안의 기능과 속성들 중 불필요한 기능은 제거하고 

프로그램에서 사용할 공통적인 부분만 추려내는 작업 과정 

캡슐화란?

추상화를 통해 정리된 기능과 속성을 외부에서 직접 접근하지 못하도록 제한하고

대신 간접 접근이 가능하도록 처리하는 과정

 

생성자란?

new 연산자를 통해 메모리에 객체가 생성될 때 필요한 메소드 

필드의 초기화 등의 역할을 하고 클래스명과 이름이 같고 반환값이 없다는 특징 

 

오버로딩 / 오버라이딩

오버로딩은 같은 메소드 이름으로 다른 매개변수를 이용해 작성하는 방식

매개변수의 개수, 혹은 타입이 달라야 한다. 대신 반환값은 다를 수 있다. 

오버라이딩은 상속의 개념에서 등장하는 메소드 작성 방식으로 

상속받은 부모의 추상메소드를 자식클래스에서 구현하는 것을 의미한다. 반환값은 같아야 한다.

 

static / final / abstract

static - static 영역에 할당되며 객체 생성없이 사용 가능하다. 

final - 상수로서 상속 시 오버라이딩이 불가능하다. 

abstract - 실체 없는 추상적인 것이기 때문에 상속 시 구현해줘야 한다. 

 

다형성

객체지향프로그래밍에서 부모 클래스가 상속 받는 여러 자식 클래스를 참조할 수 있는 특징

 

추상 클래스 / 인터페이스

추상클래스란 본체없는 메소드를 포함하고 있는 클래스로서 일반 필드, 혹은 일반 메소드도 포함을 할 수 있다.  

abstract 예약어 명시해줘야하며 abtract 메소드가 없어도 클래스 자체에 abtract 명시가 가능하다. 

객체 생성은 할 수 없으며 참조 변수로 참조는 가능하다. 

인터페이스는 추상화 클래스의 변형체로서 필드는 묵시적으로 public static final이기 때문에 변경이 불가능하고 

메소드는 묵시적으로 public abstract이다.

추상 클래스와 인터페이스 둘 다 클래스 형태를 일관적으로 강제화 시키는 기능을 한다. 

 

배열 / 컬렉션 

배열 - 같은 자료형만 배열에 저장될 수 있고, 배열의 길이가 정해져있기 때문에 만약 넉넉하게 길이를 할당해서 그 공간이 남을 경우 메모리를 낭비할 수 있다는 단점이 있다. 

컬렉션은 자바에서 제공하는 자류구조 프레임워크로, 이러한 배열의 단점을 보완하는 기능들을 가지고 있다. 

대표적으로 List, Set, Map이 있으며 List는 선형구조로 데이터가 순차적으로 저장되고 중복이 가능하다는 특징이 있으며 Set은 데이터가 무질서하지만 중복이 되지 않는다는 특징이 있고, Map은 Key와 value의 형태로 데이터가 저장이 된다.

또 컬렉션을 이용하면 데이터의 중간 추가, 삭제, 수정 등이 용이하다는 장점이 있다.

 

 

예외

개발자가 작성한 코드로 인해 일어날 수 있는 미리 예측 가능하고 코드에 의해 수습될 수 있는 오류 

Checked Exception vs UnChecked Exception => 차이는 명시적으로 예외 처리를 하는지 안하는지!!

JVM은 프로그램 실행 시 Exception 상황을 만나면 해당 오류를 발생시키고 프로그램 강제 종료

 

 

반응형