[면접정리] 막무가내 컴공 CS 면접 정리

CS 막무가내 정리


1. Java SE, Java EE의 차이가 무엇인지? Java ME는 무엇인지?

SE는 기본적으로 사용하는 자바 API집합체이고 EE는 자바를 이용한 서버측 개발을 위한 플랫폼이다. ME는 임베디르를 위한 자바 플랫폼으로 모바일 개발에도 사용된다.

[부가설명]

Java SE(Standard Edition) → 가장 보편적으로 쓰이는 자바 API집합체(패키지)이다. Java SE는 Java Software Development Kit(SDK)으로 구현된다. 대체로 처음에 자바개발에 입문할 때 접한다.

Java EE(Enterprise Edition) → Java SE 스펙기반으로 자바를 이용한 서버측 개발을 위한 플랫폼입니다. 엔터프라이즈 환경을 위한 도구로 EJB, JSP, Servlet, JNDI 등을 지원하며 애플리케이션 개발에 주로 사용

Java ME(Micro Edition) → 자바 마이크로 에디션은 제한된 자원을 가진 휴대폰, PDA, 셋탑박스 등에서 Java프로그래밍 언어를 지원하기 위해 만들어진 플랫폼입니다.

2. 추상클래스와 인터페이스의 차이점?

추상클래스는 추상클래스를 상속받아서 기능을 이용하고, 확장시키는 용도이고 반면에 인터페이스는 함수의 껍데기만 있어서 그 함수의 구현을 강제하기 위해 사용합니다. 인터페이스는 모든 메서드가 추상메소드이므로 추상클래스보다 더 추상적이라고도 말할 수 있습니다. 추가로 추상클래스는 단일상속만 가능하지만 인터페이스는 다중상속이 가능합니다.

인터페이스 내부에는 final 변수만 선언이 가능합니다. 반면 추상클래스는 final 변수가 아니여도 선언이 가능합니다.

둘의 공통점은 둘다 자기 자신을 new로 생성할 수 없다는 점과 무언가를 구현하게끔 하는 설계도의 역할을 한다는 점입니다.