Java62 [Java] Java 인터페이스 ✍️ 학습할 것 인터페이스 정의 인터페이스 구현 및 사용하기 인터페이스 상속 인터페이스의 기본 메서드 (Default Method), 자바 8 인터페이스의 static 메서드, 자바 8 인터페이스의 private 메소드, 자바 9 📌 인터페이스 인터페이스란? 일종의 추상 클래스이다. 추상 메서드와 상수만 멤버로 가질 수 있으며 다중 상속을 지원한다. 많은 블로그에서 인터페이스에 대해서 말하는 바는 대부분 다음과 같다. '인터페이스는 추상 클래스보다 추상화가 높고 상수와 추상 메서드만을 가진다.' 전~혀 와닿지 않는다. 추상 클래스가 있는데 왜 인터페이스가 필요한 것일까? ✔️ 추상 클래스 vs 인터페이스 추상 클래스는 abstract 키워드로 정의되거나 클래스 내 '추상 메서드'가 하나 이상 포함된 클래.. 2022. 9. 8. [Java] Java의 패키지 ✍️ 학습할 것 패키지 (Package) import 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 📌 패키지 (Package) 패키지란? 클래스와 인터페이스의 집합이다. 자바는 패키지로 관련된 클래스나 인터페이스를 분류해 효율적으로 파일들을 관리한다. 패키지만 다르다면 같은 이름의 클래스가 존재할 수 있어 협업에서 발생하는 이름 충돌 문제를 해결할 수 있다. 추가적인 특징은 다음과 같다. 모든 클래스는 반드시 하나의 패키지에 속한다. 패키지 선언은 소스파일 첫 번째 문장에 단 한 번만 가능하다. ✔️ 이름 없는 패키지 패키지가 지정되지 않은 파일들을 포함하는 패키지이다. 앞서 말했듯이 모든 패키지는 반드시 하나의 패키지에 속해야 한다. 만약 패키지를 지정하지 않고 소스파일을 .. 2022. 9. 5. [Java] Java의 상속 ✍️ 학습할 것 Java의 상속 super 메서드 오버라이딩 다이나믹 메서드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final Object 클래스 📌 Java의 상속 자바의 상속을 이해하기 이전에 우선 객체 지향 프로그래밍의 가장 큰 특징인 상속에 대해서 이해해야 한다. 먼저 상속에 대해서 이해해보자. ✔️ 상속이란? 기존의 클래스를 이용해서 새로운 클래스를 만들어내는 것이다. 기존에 정의되어있던 클래스의 모든 필드와 메서드를 물려받아 코드의 재사용성을 높여준다. 기존의 클래스를 부모 클래스, 상위 클래스 등으로 부르고, 상속받은 클래스는 자식 클래스, 서브 클래스 등으로 부른다. ✔️ 자바에서 상속 extends 뒤에 부모 클래스를 붙여서 사용한다. 모든 클래스의 부모 클래.. 2022. 8. 25. [Spring] Spring의 DB 접근 기술 ✍️ 학습 목표 JDBC Spring JdbcTemplate JPA Spring Data JPA 📌 JDBC JDBC란? Java Database Connectiviy의 약자로 Java 환경에서 DB에 접근하기 위한 표준 API이다. 스프링과 독립적이며 DBMS의 종류와 상관없이 하나의 JDBC API를 이용해서 데이터베이스 작업을 처리한다. ✔️ 등장 배경 및 특징 JDBC 이전에는 데이터베이스 종류에 따라 다른 SQL문을 사용해야 했다. JDBC가 등장하면서 데이터베이스마다 다른 메서드나 전역 변수 등을 통일하는 문법을 만들어 사용할 수 있게 해주었다. 코드가 길고 쿼리문을 직접 작성해야 하는 번거로움이 있으며 예외 처리를 위한 복잡한 try-catch 문을 사용해서 현재는 많이 사용하지 않는다. 📌.. 2022. 8. 23. [Spring] Spring의 핵심 : IoC, DI (23.05.16 updated) ✍️ 학습 목표 IoC DI 📌 IoC (Inversion of Control) IoC란? Inversion of Control의 약자로 단어 그대로 해석하면 '제어의 역전'이라는 뜻이다. 이전에는 프로그램의 흐름을 개발자가 주도했지만 스프링에서는 이 흐름이 달라진다. 메소드나 객체의 호출을 개발자가 아닌 스프링 컨테이너에서 담당한다. 스프링 컨테이너는 IoC 컨테이너라고도 불린다. ✔️ IoC 컨테이너 IoC 컨테이너란? 객체를 생성, 관리 그리고 의존성을 관리해주는 컨테이너이다. IoC 컨테이너가 관리하는 객체를 Bean이라고 하는데, Bean을 저장해서 BeanFactory라고도 불린다. BeanFactory는 하나의 인터페이스이다. 의존 관계 외에 다양한 기능을 제공하는데 이 BeanFactory.. 2022. 8. 23. [Spring] Spring vs Spring Boot (2) ✍️ 학습 목표 스프링이란? 스프링 부트란? 차이점 📌 스프링 부트란? 스프링의 등장만으로 큰 변화를 가져왔지만 개발자들은 여전히 불편한 점이 있었는데 바로 복잡한 환경 설정이다. 다양한 라이브러리와 기술을 지원하면서 덩달아 개발자가 처리해야 하는 설정도 많아지고 복잡해진 것이다. 스프링 부트는 이 문제를 해결하고자 등장했다. 다음 항목들은 내가 생각하는 가장 중요한 기능이자 스프링과의 차이점이라고 생각한다. Auto Configuration Easy Dependency Management Embedded Server 이 3가지 기능들 외에도 라이브러리 버전 자동 관리, 인메모리 데이터베이스(H2), 테스트 환경 제공 등 스프링에는 없던 다양한 기능들을 추가함으로 더 편한 개발 환경을 제공한다. 즉, 최.. 2022. 8. 23. 이전 1 ··· 6 7 8 9 10 11 다음