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프로그래밍 언어를 지원하기 위해 만들어진 플랫폼입니다.
추상클래스는 추상클래스를 상속받아서 기능을 이용하고, 확장시키는 용도이고 반면에 인터페이스는 함수의 껍데기만 있어서 그 함수의 구현을 강제하기 위해 사용합니다. 인터페이스는 모든 메서드가 추상메소드이므로 추상클래스보다 더 추상적이라고도 말할 수 있습니다. 추가로 추상클래스는 단일상속만 가능하지만 인터페이스는 다중상속이 가능합니다.
인터페이스 내부에는 final 변수만 선언이 가능합니다. 반면 추상클래스는 final 변수가 아니여도 선언이 가능합니다.
둘의 공통점은 둘다 자기 자신을 new로 생성할 수 없다는 점과 무언가를 구현하게끔 하는 설계도의 역할을 한다는 점입니다.