JVM/Java

    Java 소개

    ※ 본문은 코드스테이츠에서 제공해준 학습자료를 공부하고 정리한 내용임을 알립니다. Java 소개 자바는 컴파일러를 통해 기계어로 변환되는 언어 ※ 인터프리터는 한 줄씩 실행되는 반면 컴파일러는 모든 파일을 기계어로 변환하여 실행하는 구조 -> 대부분의 경우 컴파일 과정을 거치는 언어들이 인터프리터 언어보다 빠름 Java의 특징 이식성이 높은 언어이다. 자바 이전의 언어들은 특정 CPU에서만 작동하거나 특정 OS에 따라 다르게 작성해야 하는 언어들이 대부분이었지만, 자바는 JRE(Java Runtime Environment) 가 설치되어 있는 모든 운영체제에서 실행 가능하다. 객체 지향 언어이다. 자바는 OOP(Object Oriented Programming) 개념을 사용하는 언어이다. 그렇기에 모든 기..

    좋은 객체 지향의 5가지 원칙 SOLID

    ※ 본문은 김영한 선생님의 인프런 '스프링 핵심 원리 - 기본편' 강의를 듣고 정리한 내용임을 알립니다. ▶ SRP 단일 책임 원칙 한 클래스에 하나의 책임만 '하나'의 책임이 모호할 수 있음 (클 수도 있고 작을 수도 있고, 문맥과 상황에 따라 다름) 중요한 기준은 변경 → 변경이 있을 때 파급 효과가 적다면 SRP를 잘 따른 것 ▶ OCP 개방-폐쇄 원칙 소프트웨어 요소는 확장에는 열려있지만 변경에는 닫혀 있어야 함 확장을 하려면 기존 코드를 변경해야 한다는 의문이 생길 수 있음 → 다형성을 활용하여 인터페이스를 구현한 새로운 클래스를 만들어서 새로운 기능을 구현하는 방식을 활용해야 함 ▶ LSP 리스코프 치환 원칙 프로그램의 객체는 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바뀔 수 있어야 ..