Java 32

[Spring] 2. 기초 지식 배우기

어떤 기능을 구현하고자 할 때, 기능을 구현하는 것은 중요하지만 한 기능에 초점을 맞춰 코드를 작성하는 것은 바람직하지 않습니다. 기능을 추가하거나 변경하는 경우 수정이 어려울 수 있기 때문입니다. 대신 클래스가 인터페이스를 의존하게 해서 프로그램 전체에서의 수정이 아닌, 인터페이스에서 부분만을 수정하는 것만으로도 원하는 결과를 얻을 수 있습니다. 독립적인 프로그래밍이 가능한 것입니다. 인터페이스는 상수와 메서드 타입만 정의한 것입니다. 일종의 추상 클래스인 셈입니다. 인터페이스는 다른 클래스에서 구현하는 것을 전제로 만들어집니다. 클래스는 상속받을 때 extends를 쓰지만, 인터페이스는 implements를 씁니다. 자바에서는 원칙적으로 다중 상속을 허용하지 않지만, 인터페이스를 이용하여 다중 상속을..

Java/Spring 2023.05.26

[Spring] 1. 스프링 프레임워크(Framework)란?

프레임워크(Framework)를 직역하면 뼈대, 골격 등을 의미합니다. 이는 곧 프레임워크의 장단점으로 이어집니다. 장점은 프레임워크가 개발에 필요한 기초적인 기능을 제공하기 때문에, 시간과 비용 측면에서 유용합니다. 그러나 프레임워크가 제공하는 고유한 기능을 이해해야 한다는 단점이 있습니다. 프레임워크를 동작시키려면 규칙을 따라야 합니다. 프레임워크는 주로 라이브러리(library)와 비교합니다. 라이브러리는 편리한 프로그램을 모아 모듈화한 것으로, 역시 기존에 짜인 기능을 이용한다는 공통점이 있습니다. 둘의 가장 큰 차이로는 '제어의 주도권이 누구에게 있느냐'입니다. 프레임워크는 내가 작성한 코드가 프레임워크를 중심으로, 프레임워크에 의해 사용되므로 수동적입니다. 라이브러리는 특정 기능이 필요할 때마..

Java/Spring 2023.05.17