Courses

· Courses/Java
본 게시글은 김영한 강사님의 [김영한의 실전 자바 - 기본편]을 수강하며 작성한 글입니다. 01. 절차 지향 프로그래밍프로그래밍 방식은 크게 절차 지향 프로그래밍과 객체 지향 프로그래밍으로 나눌 수 있다. 절차 지향 프로그래밍실행 순서를 중요하게 생각하는 방식이다. 따라서 절차를 지향한다.프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 즉, “어떻게”를 중심으로 프로그래밍 한다. 객체 지향 프로그래밍객체를 중요하게 생각하는 방식이다. 따라서 객체를 지향한다.실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 즉, “무엇을”을 중심으로 프로그래밍 한다. 둘의 중요한 차이절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면,..
· Courses/Java
본 게시글은 김영한 강사님의 [김영한의 실전 자바 - 기본편]을 수강하며 작성한 글입니다. 01. 기본형 vs 참조형변수의 데이터 타입을 가장 크게 보면 기본형과 참조형으로 분류할 수 있다. 기본형(Primitive Type)변수에 사용할 값을 직접 넣을 수 있는 데이터 타입을 말한다.ex. int, long, double, boolean실제 사용하는 값을 변수에 담을 수 있다.들어있는 값을 그대로 계산에 사용할 수 있다.int a = 10, b = 20; int sum = a + b; 참조형(Reference Type)데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입을 말한다.ex. Student student1, int[] students실제 사용하는 값을 변수에 담는 것이 아니다. 이름 그..
· Courses/Java
본 게시글은 김영한 강사님의 [김영한의 실전 자바 - 기본편]을 수강하며 작성한 글입니다. 01. 클래스가 필요한 이유1. ClassStart1 - 변수 사용package class1;public class ClassStart1 { public static void main(String[] args) { String student1Name = "학생1"; int student1Age = 15; int student1Grade = 90; String student2Name = "학생2"; int student2Age = 16; int student2Grade = 80; System.out.println("이름:" ..
본 게시글은 김영한 강사님의 [스프링 핵심 원리 - 기본편]을 수강하며 작성한 글입니다. 스프링 컨테이너 생성 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext는 스프링 컨테이너이다. 이는 인터페이스인데, 이를 구현한 클래스가 AnnotationConfigApplicationContext이다. 스프링 컨테이너는 XML로도, 애노테이션 기반의 자바 설정 클래스로도 만들 수 있다. 💡 더 정확히는 스프링 컨테이너를 부를 때 BeanFactory, ApplicationContext로 구분한다. 뒤에서 더 자세히 배우겠지만, BeanF..
본 게시글은 김영한 강사님의 [스프링 핵심 원리 - 기본편]을 수강하며 작성한 글입니다. 새로운 할인 정책 개발 어느 날 기획자가 새로운 할인 정책인 정률 할인 정책을 추가해달라고 요구한다. 구현체를 하나 추가로 개발하면 될 듯 하지만, 몇 가지 문제점이 발생한다. 이 문제점을 해결하다 보면 여러 과정을 거치게 되고 자연스럽게 스프링의 핵심 기능인 스프링 컨테이너가 왜 탄생했는지 알게 된다. 정률 할인 정책 개발 public class RateDiscountPolicy implements DiscountPolicy{ private int discountPercent = 10; @Override public int discount(Member member, int price) { if (member.get..
본 게시글은 김영한 강사님의 [스프링 핵심 원리 - 기본편]을 수강하며 작성한 글입니다. 스프링을 사용하지 않고 순수한 자바로만 개발을 해보자. 이를 통해 왜 스프링이 필요한지 깨달아야 한다. 프로젝트 환경 구성 Language: Java 11 IDE: IntelliJ 비즈니스 요구사항 회원 회원 가입과 조회 기능이 있다. 회원은 일반과 VIP 등급이 있다. 회원 데이터는 자체 DB를 구축하거나 외부 시스템과 연동할 수 있다. (미정) 주문과 할인 정책 회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인하는 고정 금액 할인을 적용해달라. (나중에 변경될 수 있다.) 할인 정책은 변경될 가능성이 높다. 회사의 기본 할인 정책을 아직 ..
· Courses/JPA
본 게시글은 김영한님의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 작성한 글입니다. 1. 객체와 테이블 매핑 1) 엔티티 매핑 소개 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinColumn 2) @Entity @Entity가 붙은 클래스는 JPA가 관리하는 엔티티이다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 어노테이션을 필수로 붙여야 한다. 주의 사항 1. 기본 생성자 필수 (파라미터가 없는 public 또는 protected 생성자) public Member() {} // 기본 생성자 문제는 다음과 같이 생성자를 하나 이상 만들면 자바는 기본 생성자를 ..
본 게시글은 김영한 강사님의 [스프링 핵심 원리 - 기본편]을 수강하며 작성한 글입니다. 스프링의 핵심 개념 스프링을 잘 사용하기 위해서는 등장한 이유와 핵심 개념을 이해해야 한다. 스프링은 자바 언어 기반의 프레임워크이며, 객체 지향 언어(자바)가 가진 강력한 특징을 살려내기 위해 등장했다. 즉, 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 도구이다. 그렇다면 자바가 가진 강력한 특징은 무엇이며, 좋은 객체 지향 프로그래밍은 무엇일까? 좋은 객체 지향 프로그래밍이란? 좋은 객체 지향 프로그래밍이란, 객체들을 레고 블럭 조립하듯 유연하고 변경이 용이하도록 개발하는 것을 말한다.여기서 말하는 유연하고 변경 용이함을 제공하는 객체 지향의 특징이 바로 다형성이다. 다형성을 실세계에 비유했을..
jyjyjy25
'Courses' 카테고리의 글 목록