본문 바로가기

전체 글

(234)
[Spring 기본] 프로젝트 생성 프로젝트 생성예제를 통해 스프링의 기본 개념을 이해해보자. 역할과 구현, 즉 인터페이스와 구현객체를 나누어 개발해보자. 일단은 순수 자바로 먼저 개발하고 추후에 스프링 부트를 적용할 것이다.  예제 Dependencies 에는 dev tools 만 선택했다. 가장 기본적인 셋팅으로 프로젝트를 진행해보자.  프로젝트를 인텔리제이에서 열어보자.  build.gradleplugins { id 'java' id 'org.springframework.boot' version '3.3.2' id 'io.spring.dependency-management' version '1.1.6'}group = 'hello'version = '0.0.1-SNAPSHOT'java { toolchain { ..
[Java 중급] Object와 OCP Object와 OCP만약 Object 가 없고, Object가 제공하는 toString()이 없다면 서로 아무 관계가 없는 객체의 정보를 출력하기 어려울 것이다.  구체적인 것에 의존 public class BadObjectPrinter { public static void print(Car car) { String string = "객체 정보 출력: " + obj.toString(); System.out.println(string); } public static void print(Dog dog) { String string = "객체 정보 출력: " + obj.toString(); System.out.println(string)..
[Java 중급] toString() toString()Object.toString() 메서드는 객체의 정보를 문자열 형태로 제공한다. 따라서 디버깅과 로깅에 유용하게 사용된다.  예제 public class ToStringMain1 { public static void main(String[] args) { Object object = new Object(); String str = object.toString(); //toString() 반환값 출력 System.out.println(str); //Object 직접 출력 System.out.println(object); }} 실행결과 => 실행결과가 똑같다. Object.toString() 메서드를 확인..
[Java 중급] Object 배열 Object 배열Object 배열을 만들면 모든 타입의 객체를 담을 수 있다.  예제public class ObjectPolyExample2 { public static void main(String[] args) { Dog dog = new Dog(); Car car = new Car(); Object obj = new Object(); // Object 인스턴스도 만들 수 있다. Object[] objects = {dog, car, obj}; size(objects); } private static void size(Object[] objects) { System.out.println("전달된 객..
[Spring 기본] 객체 지향 설계와 스프링 스프링과 객체 지향?스프링에 객체 지향 이야기가 왜 이렇게 많이 나올까?스프링은 다음 기술로 다형성 + OCP, DIP를 가능하게 지원한다. DI(Dependency Injection): 의존관계, 의존성 주입DI 컨테이너 제공자바 객체들을 컨테이너 안에 넣어 놓고 의존관계를 연결하고 주입하는 기능 제공이렇게 함으로써 클라이언트 코드의 변경 없이 기능 확장할 수 있다.  * 인프런 '스프링 핵심 원리 -기본편' 강의를 참고하여 작성했습니다.
[Spring 기본] 스프링이란? 지금까지 스프링 회원가입 프로젝트를 진행하면서 스프링을 사용해보고, 전체적인 흐름을 파악했다. 이제부터 스프링의 핵심 기능에 대해 좀 더 깊이있게 다뤄보고자 한다. 스프링 프레임워크핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타웹 기술 : 스프링 MVC, 스프링 WebFlux데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원기술 통합: 캐시, 이메일 원격접근, 스케줄링테스트: 스프링 기반 테스트 지원언어: 코틀린, 그루비최근에는 스프링 부트를 통해서 스프링 프레임워크를 편리하게 사용할 수 있다.  스프링 부트스프링 부트는 스프링을 편리하게 사용할 수 있도록 지원하는 기술이다.  스프링 부트의 장점단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성Tomcat 같은 웹 서버..
[Java 중급] Object 다형성 Object 다형성Object는 모든 클래스의 부모 클래스이다. 따라서 모든 Object는 모든 객체를 참조할 수 있다.   예제 Dog, Car 클래스를 만들어보자. 두 클래스는 서로 아무런 관려이 없다. 둘 다 부모가 없으므로 Object를 자동으로 상속받는다.  Car.javapublic class Car { public void move() { System.out.println("자동차 이동"); }}  Dog.javapublic class Dog { public void sound() { System.out.println("멍멍"); }} ObjectPolyExample.javapublic class ObjectPolyExample1 { pub..
[Java 중급] Object 클래스 Object 클래스자바에서 모든 클래스의 최상위 부모 클래스는 Object 클래스이다.  예제Parent.java// 부모가 없으면 묵시적으로 Obejct 클래스를 상속 받는다. public class Parent{ public void parentMethod() { System.out.println("Parent.parentMethod"); }} => 이 코드는 사실 public class Parent extends Object 와 같다. 최상위 부모는 항상 Object이기 때문이다.  Child.javapublic class Child extends Parent{ public void ChildMethod() { System.out.println("Child...