개인 공부/JAVA

개인 공부/JAVA

[Java/Spring] FrameWork vs Library

FrameWork(프레임워크) 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조 소프트웨어의 특정 문제를 해결하기 위해 상호 협력하는 클래스와 인터페이스의 집합 반드시 써야하는 것과 내부적인 룰이 있음 예시: Spring, Angular JS, Django... Library(라이브러리) 소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용되는 특정 기능들을 모듈화 한 것 라이브러리 사용은 자유

개인 공부/JAVA

[Java/Spring] SOLID 5원칙

객체지향 설계에서 지켜야 할 SOLID 5원칙에 대해 알아보겠다. SRP(Single Responsibility Principle, 단일 책임 원칙) 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐 작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 서비스는 하나에만 집중이 되어있어야 한다. 이렇게 작성 시 책임 영역이 확실해지며 책임의 연쇄반응으로부터 자유로워 질 수 있다. OCP(Open-Closed Principle, 개방-폐쇄 원칙) 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀있어야 함 캡슐화를 통해 여러 객체에서 사용하는 같은 기능들을 하나의 인터페이스로 정의 OCP를 가능하게 하는 중요한 메커니즘은 추상화와 다형성 LSP(The L..

개인 공부/JAVA

[Java/Spring] Eclipse vs IntelliJ

구분 장점 단점 Eclipse 1. 오픈소스로 무료 2. 여러 프로젝트를 동시에 관리 가능 1. JVM위에서 실행하여 다른 IDE에 비해 느림 2. 잔버그가 많은 편 3. 다른 언어 사용이 불편 IntelliJ 1. 플러그인 설치가 편함 2. 스마트 자동완성 기능이 잘되어 있음 3. Git과 같이 사용하기에 편함 4. 개인적으로 UI가 너무 이쁨... 1. 유료(가장 큰 고려사항이 아닐까 싶다) 2. 기존 Eclipse로 진행되던 프로젝트에서 넘어갈 때 잘 맞지 않는 경우가 생길 수 있음 IntelliJ는 학생들은 Ultimate 버전까지 무료로 사용할 수 있다. 학생 인증을 하고 IntelliJ의 많은 기능을 이용해본 나로서는 Eclipse로 돌아가는 건 힘들 거 같다. 이참에 회사에서 많이 사용하는 ..

개인 공부/JAVA

[Java/Spring] 객체 지향의 4대 특성

1. 캡슐화(Encapsulation) 변수는 private, 메서드는 public으로 선언 getter, setter를 제외하고 public Method는 입력된 매개변수를 Validation 한 후 실행 2. 상속(Inheritance) 하위로 내려갈 수록 구체화 재사용성, 확장성, 유지보수성 향상 3. 추상화(Abstraction) 모델링 공통부분 또는 특정 특성을 분리하여 재조합 4. 다형성(Polymorphism) 하나의 개체가 여러개의 형태로 변화하는 것 오버라이딩을 통해 가능

내캉
'개인 공부/JAVA' 카테고리의 글 목록