인터페이스는 일종의 추상클래스 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만 멤버로 가질 수 있다. 그 외의 다른 어떠한 것도 허용하지 않는다. 추상클래스를 부분적으로만 완성된 미완성 설계도라고 한다면, 인터페이스는 구현된 것은 아무 것도 없고 밑그림만 그려져 있는 기본 설계도 라고 할 수 있다. 인터페이스도 추상클래스처럼 완성되지 않은 불완전한 것이기 때문에 그 자체만으로 사용되기 보단 다른 클래스를 작성하는데 도움 줄 목적으로 작성된다. interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메서드이름(..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bH7HES/btqvyNj3KpU/5cZBJxoOFiZANpOXftlYu1/img.jpg)
JPA(Java Presistence API)는 Java를 이용해서 데이터를 관리하는 기법을 하나의 스펙으로 정리한 표준입니다. JPA 자체로는 스펙에 불과하기 때문에 이를 실제로 구현한 프레임워크들의 존재가 필수적입니다. Servlet이라는 기술 스펙을 Tomcat에 구현한 것처럼, JPA를 구현한 구현체 중에서 스프링 부트 프로젝트에서는 Hibernate(http://hibernate.org/)를 이용합니다. 엔티티(Entity)는 데이터베이스에서 데이터로 관리하는 대상을 의미합니다. ex) 상품, 회사, 직원 데이터베이스에서는 엔티티를 위해 테이블을 설계하고 데이터를 추가합니다. 이렇게 추가된 데이터는 인스턴스 또는 레코드라고 부릅니다. JPA에서는 Java를 이용해서 엔티티들을 관리하기 때문에 엔..
한 개의 소스파일에는 한 개의 클래스만 정의하는 것이 일반적이지만 둘 이상의 클래스를 정의하는 것도 가능하다.이 때 주의해야할 사항은 소시파일의 이름은 public class의 이름과 일치해야 하는 것이다. 만약 소스파일 내에 public class가 없다면 소스파일의 이름은 소스 파일 내의 어떤 클래스의 이름으로 해도 상관없다. ex) HelloWorld.java 파일 내에public class HelloWorld{ class HelloWorld2{ }} ---->가능 ex) HelloWorld.java 파일 내에 public class가 존재하지 않다면class HelloWorld{}class Hello{}가능 ex) HelloWorld.java 파일내에 public class가 두개 이상 존재해서는..