인터페이스 2

[Spring] 객체지향설계(SOLID)와 스프링

- 스프링? 스프링은 자바 언어 기반의 프레임워크이다. 자바의 가장 큰 특징이 뭘까? - 객체 지향성이다. 결국 스프링은 객체 지향 언어가 가진 강력한 특징들을 살려낼 수 있는 프레임워크이다. 그럼 살려내야 할 객체 지향 특징이 뭘까? - 객체 지향의 특징 객체 지향의 특징으로는 추상화, 캡슐화, 상속, 다형성 등이 있다. 각각의 특징들을 본 포스팅에서 서술하진 않겠다. 그래서 객체 지향적으로 프로그래밍을 하면 좋은 점이 뭘까? 추상화니, 다형성이니 어려운 말 쓰지말고 생각해보자. 결론부터 이야기 하자면, 객체 지향 언어의 가장 큰 장점은 "유연성" 이라고 생각한다. 객체 지향 프로그래밍은 코드 자체를 명령어들의 집합으로 보는 시선을 벗어나, 독립적인 단위로 구성할 수 있고 상호간의 교류가 가능한 "객체..

Spring 2023.06.19

[Java] 추상 클래스와 인터페이스

추상 클래스 - 추상 클래스 public abstract class 클래스이름 { // 필드 String name; // 생성자 public 클래스이름(String name) { this.name = name; { // 추상 메소드 public abstract void 메소드이름(); // 그냥 메소드 public void 메소드이름(); } 추상 클래스는 class를 선언할 때 앞에 'abstract'를 붙여 선언하고 반드시 '하나 이상의 추상 메소드'를 가져야한다. 추상 클래스는 상속을 통해 자식 클래스에서만 사용하도록 강제하는 클래스이다. 추상 클래스는 상속을 위한 클래스이기 때문에, new를 사용해 직접적으로 객체를 생성할 수 없다. 추상 클래스는 추상 메소드 외에도 일반 필드, 메소드, 생성자를..

Java 2023.05.30