[Java] JVM 동작 원리
·
🛠️Backend/☕Java
IDE는 자바 프로그램의 실행 명령어들을 대신 입력을 해주어 명령어를 몰라도 코드를 실행 할 수 있게 해준다. 이러한 추상화 덕분에 편리하지만 이러한 지식 없이 자바를 공부한다면 공부의 효율성이 떨어질 수 있다는 단점이 있다. JVM(Java Virtual Machine) 동작 원리JVM은 "java ClassName" 명령어를 통해 실행을 시킬 수 있게 된다. ClassName은 반드시 main 메서드가 들어있는 주 클래스여야 한다. JVM이 실행이 된 후 JVM의 부트스트랩 클래스 로더가 필요한 클래스 파일인 java.lang 패키지의 클래스 파일들을 먼저 로드 해준다. 이후, 애플리케이션 클래스 로더가 main 메서드 주 클래스를 로드를 해주게 된다. 이러한 과정이 다 끝나면, JVM은 main 메..
[Spring Framework] IoC & DI 개념 이해 하기
·
🛠️Backend/🌳Spring
1. IoC (Inversion of Control)Inversion of Control의 뜻은 "제어의 역전"이다. 여기서 말하는 제어는, 객체를 직접 생성하거나 찾는 방식에서 벗어나 Spring Framework의 IoC 컨테이너 에게 제어의 권한을 넘김으로써, IoC 컨테이너가 필요할 때 알아서 객체를 생성하고 필요한 의존성을 알아서 주입을 해주는 방식을 의미한다.- 객체의 제어를 외부에서 담당하게 한다는 폭 넓은 개념- IoC Container에게 제어 권한을 넘긴다는 개념 * IoC Container : Spring Framework가 의존성 주입을 자동을 해주기 위한 "Bean"들의 집합과 "Bean"들을 관리해주는 공간이다.* Bean : Spring Framework가 관리하는 객체들을 "..
[Spring Framework] Spring & Spring Framework 차이
·
🛠️Backend/🌳Spring
✅ 1. Spring 이란?DI (Dependency Injection) / IoC (Inversion of Control) 같은 개념과, 그 개념을 구현한 프레임워크 전체를 아우르는 용어즉, Spring 은 Spring 생태계 전체를 포괄하는 용어이다.이 생태계에는 Spring Data JPA, Spring MVC, Spring Security 등이 포함이 되어 있음.✅ 2. Spring Framework 란?위의 DI 와 IoC 개념을 바탕으로 만든 프레임워크이다.프레임워크: 개발자가 애플리케이션을 만들 때 따라야 하는 일정한 규칙을 틀로 만들어 놓은 것을 의미한다. 규칙을 만들어 놓은 이유는, 해당 틀에서 개발을 하면 스프링의 모든 모듈이나 기능들을 알 필요없이 개발이 가능하기 때문이다. 매우 효율..
내일배움캠프 35일차 TIL - Enum
·
⛺스파르타코딩클럽
240605오늘의 학습     ●  1. Enum    ●  2. 팀 프로젝트 게시글 기능 구현 Enum( 열거타입 )자바 1.5버전부터 새롭게 추가된 기능이며, 자바에서 Enum은 한정된 값들의 집합상수들의 집합을 의미한다.Enum은 Enumeration의 약자이며, Enumeration은 열거형이라고 부르며 목록, 알림표와 같은 의미를 가지고 있다.Enum은 열거타입이며, 열거타입은 데이터 중에 한정된 값을 갖는 데이터를 열거타입이라고 한다.즉, 한정된 값은 상수를 의미하며, 한정되어 있으므로 데이터의 변경이 있어서는 안된다는 규칙이 존재한다.ex) 월, 화, 수, 목, 금, 토, 일 ( 7개 ) / 봄, 여름, 가을, 겨울 ( 4개 ) Enum 열거형열거타입은 참조 타입이므로 null값으로 초기화가..
내일배움캠프 15일차 TIL - 과제 피드백(Calculator)
·
⛺스파르타코딩클럽
240503오늘의 학습     ●  1. 자바 변수, 클래스, 메서드 네이밍    ●  2. 과제 한번 더 풀면서 복습하기( 다형성 및 예외 ) 과제 피드백(개선 사항)# 문제점 및 해결1. 변수 네이밍의 문제while문을 통해 반복을 진행하고 빠져나가는 조건으로 변수하나를 선언을 했지만 변수명이 직관적이지 못한점 수정2. 쓸때없는 구문 제거if문의 쓸때없는 else문 제거 if문으로 끝나는 경우 else가 필요없는 경우 제외하는 것이 오히려 보기 좋다.3. 메서드의 분리를 통해 가독성 + 클린코드 실천하나의 메서드의 하나의 기능만을 클린코드를 목표로 과제를 수정하였다. 훨씬 가독성이 좋아졌다.밑의 코드에서 두개의 메서드가 기존에는 while문 안에 전부다 들어가있었다. 지금은 두개의 메서드로 분리시켜서..
내일배움캠프 13일차 TIL - 확장&상속(Extends)
·
⛺스파르타코딩클럽
240501# 오늘 꼭 기억 해야 할 것!1. 상속과 다형성오늘의 학습     ●  1. 상속    ●  2. 다형성    ●  3. 깃허브 해보기 확장(Extends) == 상속(Inheritance)자바에서 확장(상속)은 클래스와 클래스간의 관계를 의미하며 상속은 부모 클래스가 자식클래스에게 메서드나 필드를물려 주는것을 의미한다. ( 상속을 하는 쪽의 클래스를 부모클래스, 상속을 받는 클래스를 자식클래스라고 말한다. ) 자바에서 상속보다는 확장이라는 표현을 하는 것이 더 올바른 표현이다.이유는 부모클래스가 진짜 부모로 만들어진 객체 클래스 자식클래스가 진짜 자식으로 만든 객체 클래스로 가정을 해보자부모의 역할을 상속받는다고 자식클래스가 부모가 될 순 없다. 이 말은 상속이라는 것은 올바르지 않은 표현..
[Java] 상속 ( Extends )
·
🛠️Backend/☕Java
확장(Extends) == 상속(Inheritance)자바에서 확장(상속)은 클래스와 클래스간의 관계를 의미하며 상속은 부모 클래스가 자식클래스에게 메서드나 필드를물려 주는것을 의미한다. ( 상속을 하는 쪽의 클래스를 부모클래스, 상속을 받는 클래스를 자식클래스라고 말한다. ) 자바에서 상속보다는 확장이라는 표현을 하는 것이 더 올바른 표현이다.이유는 부모클래스가 진짜 부모로 만들어진 객체 클래스 자식클래스가 진짜 자식으로 만든 객체 클래스로 가정을 해보자부모의 역할을 상속받는다고 자식클래스가 부모가 될 순 없다. 이 말은 상속이라는 것은 올바르지 않은 표현이며, 확장이라는 표현이 올바른 표현이 된다. 확장은 부모클래스에게 받은 것들을 자식클래스에서 확장하여 이용할 수 있는 것이다.  # 상속을 알기에 ..
[Java] 예외 ( Exception )
·
🛠️Backend/☕Java
목차   ●  1. Error & Exception.    ●  2. 예외(Exception)    ●  3. 예외처리(1) try & catch    ●  4. 예외처리(2) try & catch    ●  5. 예외 처리 catch문 유용한 메서드    ●  6. 예외 종류( CheckedException & UnCheckedException )    ●  7. final구문   ●  8. throws구문  1. Error & Exception자바에서는 문제를 크게 Error, Exception 두 가지로 구분을 한다. 1. Error개발자가 직접 처리할 수 없는 문제를 의미한다. ( 메모리, 운영체제, 하드웨어, 외부적인 요인으로 생기는 문제 )즉, 작업을 하는 환경의 문제가 생긴 것을 의미하며 ..
내일배움캠프 9일차 TIL - 클래스(Class)
·
⛺스파르타코딩클럽
240425# 오늘 꼭 기억 해야 할 것!1. 상속과 다형성의 개념2. 알고리즘의 중요성..오늘의 학습     ●  1. 인스턴스 & 객체    ●  2. 클래스의 구성 요소    ●  3. this 키워드    ●  4. 생성자# 인스턴스 & 객체 뭐가 맞는 표현인가객체는 클래스와 인스턴스를 가리키는 일반적인 용어이다. 즉, 객체는 메모리에 할당이 안된 상태(자바 실행전)또는 실행 후 메모리에 올라간 상태 두 가지를 객체라고 부를 수 있다.  인스턴스는 객체가 메모리에 할당되어 동작하는 상태를 강조한 용어이다. 정리해보면 큰 범위로 객체는 인스턴스를 포함하고 있다는 말이다.1. 클래스의 구성 요소클래스의 구성으로는 "인스턴스 멤버", "생성자"가 존재한다.인스턴스 멤버의 구성으로는 인스턴스 필드, 인스..
내일배움캠프 8일차 TIL - 컬렉션(Collection)
·
⛺스파르타코딩클럽
240424# 오늘 꼭 기억 해야 할 것!1. List(ArrayList, LinkedList, Stack), Map, Set, Queue오늘의 학습     ●  1. Collection    ●  2. 자바 객체지향 - 클래스    ●  2. 자바 객체지향 - 상속컬렉션 (Collection)컬렉션은 자바에서 배열의 한계를 극복하기 위해서 만들어진 자료구조이다. (배열보다 더 많은 기능을 제공)컬렉션의 기능으로는 크기 자동조정/ 추가/ 수정/ 삭제/ 박복/ 순회/ 필터 포함확인 등등 매우 많고 다양하다.컬렉션은 기본형 변수가 아닌 참조형 변수를 저장한다. ( 배열은  1.  컬렉션(Collection)의 종류 List(ArrayList) :  순서가 있는 데이터의 집합 ( 데이터..