인터페이스 특징 내부의 모든 메서드는 public abstract 로 정의 (default 메소드 제외) 내부의 모든 필드는 public static final로 정의 (상수) 클래스에 다중 구현 (implements) 지원 인터페이스 끼리는 다중 상속 (extends) 지원 인터페이스에도 static, default, private 제어자를 붙여 클래스 같이 구체적인 메서드를 가질 수 있음. 따라서 하위 멤버의 중복 메서드 통합을 어느정도 할 수 있겠지만 필드는 상수이기 때문에 중복 필드 통합은 불가능 인터페이스는 부모 자식 관계인 상속에 얽매이지 않고, 공통 기능이 필요할 때마다 추상 메서드를 정의해놓고 구현(implements)하는 식으로 추상클래스보다 자유롭게 붙였다 떼었다 사용 인터페이스는 클래..
JDK (Java Development Kit) 란? JDK는 자바 개발키트(Java Development Kit)의 약자로 개발자들이 자바로 개발하는 데 사용되는 SDK 키트라 생각하면 됩니다. 그래서 JDK안에는 자바를 개발 시 필요한 라이브러리들과 javac(컴파일러), javadoc 등의 개발 도구들을 포함되어 있고, 개발을 하려면 자바 프로그램을 실행도 시켜줘야 하기 때문에 뒤에서 배울 JRE(Java Runtime Environment)도 함께 포함되어 있습니다. 💡 SDK란? Software Development Kit (소프트웨어 개발 키트) 로, 하드웨어 플랫폼, 운영체제 또는 프로그래밍 언어 제작사가 제공하는 툴입니다. 키트의 요소는 제작사마다 다르며 이 SDK를 활용하여 애플리케이션을..
Exception과 Error 차이 자바에서는 실행 시(runtime) 발생할 수 있는 프로그램 오류를 '에러(Error)'와 '예외(Exception)' 두 가지로 구분하였습니다. 에러(Error)는 메모리 부족(OutOfMemoryError)이나 스택오버플로우(StackOverflowError)와 같이 일단 발생하면 복구할 수 없는 심각한 오류이고, 예외(Exception)는 발생하더라도 수습될수 있는 비교적 덜 심각한 것입니다. 에러가 발생하면, 프로그램의 비정상적인 종료를 막을 길이 없지만, 예외는 발생하더라도 프로그래머가 이에 대한 적절한 코드를 미리 작성해 놓음으로써 프로그램의 비정상적인 종료를 막을 수 있습니다. 자바에서는예외(Exception)뿐만이 아닌 에러(Error) 역시 클래스로 정..
서블릿이란 서블릿(Servlet)이란 동적 웹페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술입니다. 즉, 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 반환 해주어야 하는데, 이러한 역할을 해주는 자바 프로그램을 서블릿이라고 합니다. 예를 들어, 사용자가 로그인을 할 때 서버는 클라이언트의 아이디와 비밀번호를 확인 후 다음 페이지를 띄워주어야 하는데 이러한 역할을 수행하는 것이 서블릿입니다. 그렇기 때문에 서블릿은 흔히 자바로 구현된 CGI라고 말합니다. CGI(Common Gateway Interface)란? 서버와 애플리케이션 간에 데이터를 주고 받는 방식을 CGI라고 합니다. 즉, 웹서버와 프로그램간의 교환 방식입니다. CGI 방식은 어떠한 프로그래밍 언어로도 구현이..
Static Static은 고정된 이라는 의미로 , 메모리에 한번 할당되면 프로그램이 종료될 때 해제되고, Static 영역에 할당 되기 때문에 모든 객체가 공유하는 메모리라는 장점을 지니지만, Garbage Collector의 관리 영역 밖에 존재하므로 Static을 자주 사용하면 시스템의 퍼포먼스에 악영향을 주게 됩니다. 객체 생성 없이 사용 할 수 있는 필드와 메소드를 생성하고자 할 때 사용 합니다. Garbage Collector 메모리 관리 기법중 하나로, 더 이상 사용되지 않는 인스턴스를 찾아 메모리에서 해제 시키는 기능입니다. (JVM의 Heap 영역에서 작동, 불필요한 메모리를 알아서 정리해줍니다.) 아래와 같이 클래스를 생성하고 public class Calculator{ public s..
싱글톤 패턴이란? 싱글톤 패턴이란 애플리케이션이 시작 될 때 어떤 클래스가 최초에 한번만 메모리를 할당하고 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴입니다. 즉 생성자가 여러번 호줄 되더라도 실제 생성되는 객체는 최초 생성되었던 객체를 리턴하게 되는 패턴을 의미합니다. 싱글톤 패턴 장점 고정된 메모리 영역을 얻으면서 한번의 new 연산자로 인스턴스를 사용하기 때문에 메모리 낭비를 방지 할 수 있습니다. 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하는데에 용이합니다. 인스턴스가 한개만 존재하는 것을 보증하고 싶을 경우 사용합니다. 두번째 이용 부터는 객체 로딩 시간이 줄어 성능이 좋아집니다. 싱글톤 패턴 단점 싱글톤 인스턴스가 너무 많은 일을 하..