분류 전체보기

📕Java

Java란 무엇인가?

✅ Java란?Java는 객체 지향 프로그래밍 언어로, 1995년에 썬 마이크로 시스템즈(Sun Microsystems)에서 발표되었습니다. Java는 C++과 유사한 문법을 가지고 있지만, 포인터를 사용하지 않는 등 보다 안정적이고 안전한 언어로 개발되었습니다. Java는 컴퓨터 프로그래밍을 위한 프로그래밍 언어 중 하나로써 0과 1로 이루어진 이진수만 이해하는 컴퓨터에게 작업을 수행하는 방법을 사람이 이해할 수 있는 언어(Java)로 지시할 수 있는 방법이 프로그래밍입니다. 자바의 가장 중요한 특징은 운영체제(플랫폼)에 종속되지 않고 독립적으로 실행할 수 있다는 것입니다. 이는 JVM, 자바 가상 머신을 사용하기 때문입니다. 또한, Java는 객체 지향 프로그래밍을 기반으로 합니다. 객체 지향이란 현..

⚙️환경설정

Spring Tool Suite 3, 4 설치

✅ STS4 DownloadToolsSpring Tools 4 is the next generation of Spring tooling for your favorite coding environment. Largely rebuilt from scratch, it provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE.https://spring.io/tools 위의 URL에 접속해서 개발 Host PC의 CPU와 OS 버전에 따라 STS4(Spring Tools 4 for Eclipse)를 선택합니다. 4.1..

⚙️환경설정

JDK 11, ZIP 파일 설치법

✅ Java SE Archive DownloadsJava Archive Downloads - Java SE 11 | Oracle 대한민국Java Archive Downloads - Java SE 11https://www.oracle.com/kr/java/technologies/javase/jdk11-archive-downloads.html위의 링크에 접속합니다. 다운로드를 하기 위해서는 먼저 오라클 계정을 생성해야 합니다. 🔹오라클 계정 생성 전부 영문으로 입력해야 합니다. 회원가입 후 로그인하여 다운로드를 해보겠습니다. 🔹Java SE Archive Download 개발 Host PC의 CPU 그리고 OS에 따라 해당 인스톨러를 선택해서 다운로드합니다. 현재 windows 11, intell CPU를 ..

🍀Spring/📖toby-spring

[토비의 스프링 Maven] 단위테스트

🔥스프링이 개발자에게 제공하는 가장 중요한 가치는 객체지향과 테스트라고 책에서 이야기하고 있다. 앞에서 객체지향에 대해서 배웠다면, 테스트가 무엇인지 알아보자. ✅ UserDaoTest 다시보기이전에 만들었던 테스트 코드는 main() 메소드를 이용해 UserDao 객체의 add(), get() 메소드를 호출하고, 그 결과를 화면에 출력하여 테스트하였다. UserDaoTestpackage com.jhcode.spring.ch1.dao; import java.sql.SQLException; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigAppli..

🍀Spring/📖toby-spring

[토비의 스프링 Maven] XML을 이용한 설정

✅ 스프링 IoC 컨테이너가 관리할 Bean 설정지금까지 DaoFactory를 통해서 의존관게를 설정할 수 있었습니다. 자바 클래스로써 @Configuration 어노테이션을 사용해서 스프링 IoC 컨테이너가 해당 설정 정보를 참고하여 Bean 객체를 생성하고, 컴파일 시에 의존관계를 설정할 수 있습니다. 스프링에서는 자바 클래스 외에도 XML 방식을 통해서 의존관계를 설정할 수도 있습니다. —@Configuration 어노테이션을 통해서 설정한 @Bean 메소드를 통해 얻는 정보는 아래와 같다.빈의 이름 : @Bean 메소드의 이름, 곧 빈의 이름이 된다. getBean() 메소드를 통해 반환받을 객체를 찾을 때 key로 사용된다.빈의 클래스 : 빈 객체를 어떤 클래스로 이용하여 만들지를 정의한다.빈의..

🍀Spring/📖toby-spring

[토비의 스프링 Maven] 싱글톤, 싱글톤 레지스트리, 오브젝트 스코프

🔎—오브젝트의 동일성과 동등성자바에서 두 개의 객체가 같은가?는 두 가지 의미가 있습니다. 첫 번째는 동일성으로 하나의 객체만 존재하고(메모리상 등록된 객체가 하나를 뜻한다), 두 개의 참조 변수를 갖고 있어 == 연산자로 비교할 수 있는 동일성두 번째는 동일한 정보를 담고 있는 여러 객체가 존재하여(메모리 상에 등록된 객체가 여러개를 뜻한다) .equals() 메소드를 이용해 비교하는 동등성 ✅ ApplicationContext와 Factory 객체 생성 비교DaoFactory에서 객체를 반환하는 것과 ApplicationContext에서 객체를 반환해서 사용하는 것이 큰 차이를 보여주지 않는 것 같습니다. 그렇다면 각각 객체를 반환할 때 같은 객체를 반환하는 것일까요? 왜 DaoFactory처럼 직접..

🍀Spring/📖toby-spring

[토비의 스프링 Maven] 제어역전과 의존관계 주입

✅ 의존 관계 주입(Dependency Injection)의존 관계 주입(Dependency Injection, DI)은 객체 간의 의존 관계를 코드 내에서 명시적으로 설정하는 것이 아니라 외부에서 의존 객체를 주입하여 사용하는 디자인 패턴입니다. 일반적으로 객체 간의 의존 관계는 해당 객체가 직접 의존하는 객체를 생성하거나 가져와 사용하는 방식으로 구현되지만, 이는 객체 간의 결합도를 높이고 코드 유지보수에 어려움을 초래할 수 있습니다. 그래서 IoC 컨테이너를 사용하여 외부로부터 객체 간의 관계를 설정합니다. 스프링 IoC 기능의 대표적인 동작원리는 주로 의존관계 주입이라고 불립니다. 스프링이 다른 프레임워크와 차별화돼서 제공해주는 기능은 DI를 사용할 때 명확하게 들어납니다. ✅ 의존 관계두 개의 ..

🍀Spring/📖toby-spring

[토비의 스프링 Maven] 제어역전 IoC

✅ 제어 역전의 개념제어 역전 (Inversion of Control, IoC)은 소프트웨어 디자인 패턴 중 하나로, 프로그램의 제어 흐름을 개발자가 아닌 프레임워크 또는 컨테이너가 담당하는 것을 말합니다. 개발자가 객체의 생성과 관리를 직접 제어하는 것이 아니라 외부의 컨테이너가 그 역할을 맡는다는 의미입니다. 이를 의존성 주입(Dependency Infection)으로 구현되는데 의존성 주입은 객체 간의 의존 관계를 컨테이너가 설정해주는 방식으로, 객체가 필요로 하는 의존 객체를 직접 생성하는 것이 아니라 컨테이너가 객체를 생성하고 주입해주는 것입니다. 이를 통해 개발자는 핵심 비즈니스 로직에 집중할 수 있고, 컨테이너는 객체의 생명주기와 의존성 관리 등을 처리하여 프로그램의 유연성과 확장성을 향상시..

🍀Spring/📖toby-spring

[토비의 스프링 Maven] 클래스의 분리와 인터페이스

🔎—매개변수와 인수매개변수(Parameter): 함수 또는 메서드의 선언 부분에서 정의된 변수를 말합니다. 매개변수는 함수 또는 메서드가 호출될 때에 전달되는 인수(argument)를 받아들이기 위해 사용됩니다. 매개변수는 함수 또는 메서드 내부에서 사용되는 지역 변수의 역할을 합니다.인수(Argument): 함수 또는 메서드를 호출할 때 전달되는 값들을 말합니다. 호출 시에 실제로 전달되는 값들을 인수라고 합니다. 인수는 파라미터와 일치하는 순서로 전달되며, 함수 또는 메서드 내부에서 해당 인수들을 활용하여 동작을 수행합니다. ✅ 클래스의 분리지난 시간에서 추상클래스를 만들고 이를 상속한 서브클래스에서 변화가 필요한 부분을 바꿔서 쓸 수 있게 만들었습니다. 템플릿 메서드 패턴, 팩토리 메서드 패턴이 사..

🍀Spring/📖toby-spring

[토비의 스프링 Maven] DAO 분리

🔥개발자가 객체를 설계할 때 가장 염두에 둬야 할 사항은 바로 미래의 변화를 어떻게 대비할 것인가이다. 지혜로운 개발자는 오늘 이 시간에 미래를 위해 설계하고 개발한다. -toby- ✅ 커넥션 만들기의 추출관심사를 분리하는 것은 중복된 코드를 제거하는 것이라고 할 수 있습니다. 하나의 로직을 수행하는데 무수히 많은 중복된 코드가 있다면, 만약 조금만 변동사항이 생겨도 변동사항이 생긴 코드를 하나씩 찾아가며 전부 바꿔야하기 때문에 유지보수가 어렵습니다. ➡️ UserDao의 구현된 add() 메서도 하나를 살펴보며 세가지 관심사항이 도출된다는 것을 알 수 있습니다.DB와 연결을 위한 커넥션을 어떻게 가져올까?어떤 DB를 사용하고, 어떤 드라이버를 사용할 것이고, 어떤 로그인 정보를 쓸 것인가? DB 연결에..

jhcode33
'분류 전체보기' 카테고리의 글 목록 (12 Page)