전체 글151 [Java] 상속과 인터페이스 개념 정리 🤔상속(Inheritance)이란? 상속은 말 그대로 부모 자식 간의 상속을 의미한다. 부모 클래스를 상속 받는 다는 말의 뜻은, 부모 클래스의 클래스 변수, 메서드(private 불가), 를 재사용, 확장한다는 의미이다. Java에서 상속을 사용한 간단한 예시를 보자. Animal 클래스는 클래스 변수로 name필드를 갖고, move(), eat()메서드를 갖는다. Cat은 Animal을 상속받고 있으며, move()메서드를 오버라이드하여 “x 만큼 뒤로 움직인다”로 재정의하였다. class Animal{ protected String name; public Animal(String name){ this.name = name; } public void move(int x){ System.out.prin.. 2023. 4. 10. [JPA] JPA Auditing 정리 및 구현 서론 JPA를 사용하여 도메인을 관계형 데이터베이스 테이블에 매핑할 때 공통적으로 도메인들이 가지고 있는 필드나 컬럼들이 존재한다. ex) 생성 일자, 수정 일자, 생성자, 수정자... 도메인마다 공통으로 존재한다는 의미는 결국 코드가 중복된다는 것을 의미한다. 그래서 JPA에서는 Audit이라는 기능을 제공한다 Audit은 Spring Data JPA에서 시간에 대해서 자동으로 값을 넣어주는 기능이다. 도메인을 영속성 컨텍스트에 저장하거나 조회를 수행한 후에 update를 하는 경우 매번 시간 데이터를 입력하여 주어야 하는데, Audit을 이용하면 자동으로 시간을 매핑하여 데이터베이스의 테이블에 넣어주게 된다. JPA Audit은 데이터의 변경 기록을 추적하고 데이터 변화에 대한 이력을 기록하는 것을 .. 2023. 4. 10. [Java] 불변 객체(Immutable Object)란 무엇인가? 🤔불변 객체(immutable object)란? 불변 객체란 객체 생성 이후 내부의 상태가 변하지 않는 객체를 말한다. 즉, 한 번 생성된 불변 객체의 상태는 그 이후에 변경할 수 없다. Java의 대표적인 불변 객체로는 String이 있다. 다음과 같이 str를 String으로 선언해보자. 그럼 다음과 같이 문자열을 추가하면 어떻게 될까? str이 변경됐다고 생각할 수 있겠지만, 사실 “aa”라는 String 객체는 그대로 남아 있고, “aabb”라는 새로운 객체가 str에 할당된다. 즉, String은 불변 객체이다. 😄불변 객체 사용 시 장점은 무엇인가? 1. Thread-Safe하다. - 공유 자원이 불변이라면, 항상 동일한 값을 반환하기 때문에 더 이상 동기화를 고려하지 않아도 될 것이다. 따라.. 2023. 4. 9. [Java] static, static method 개념 정리 Static이란? Java에서 static 키워드를 사용한다는 것은 어떠한 값이 메모리에 한번 할당되어 프로그램이 끝날 때 까지 그 메모리에 값이 유지된다는 것을 의미한다. 즉, static제어자를 사용하면, 객체를 생성하지 않고도 클래스 변수나 메서드를 호출할 수 있다. static의 사용 예시로 과일명과 가격을 변수로 갖는 과일 클래스를 생성해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 public class Fruit { private String fruitName; private int price; public int getPrice(){ return price; } public void setPrice(int price){ this.pr.. 2023. 4. 9. [프로그래머스] 입국심사 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43238 KEY 시간을 기준으로 이분탐색한다는 방법 자체를 떠올리기가 어려운 문제다. 1분~가장 오래 걸리는 시간 까지 이분탐색으로 시간을 탐색하면서, 모든 사람이 심사를 받을 수 있는 시간 중 가장 짧은 시간대를 찾으면 된다. 시간을 심사대의 시간으로 나누어 더함으로써 완료할 수 있는 사람 수(cnt)를 센다. 가령 심사대는 7, 10분 두개가 있고, 지금 시간이 30분이라고 할 때, 완료할 수 있는 사람 수는 30/7 + 30/10 = 6이다. 자료형에 조심하자. Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2.. 2023. 4. 6. AWS EC2를 이용한 Springboot + Mysql 서비스 배포 이번에는 Springboot기반의 쇼핑몰 프로젝트를 EC2를 이용해서 배포해 보았다. 중간 중간에 발생하는 에러가 굉장히 많았지만, Stackoverflow와 많은 블로그를 참고해가며 해결했다. 후에 도움이 될 것같아 과정 설명을 해보겠따. 전체적인 flow -> EC2에 직접 mysql을 설치한 후, springboot와 연동하고, war파일을 이용해서 배포한다. 😊배포 준비 환경 AWS EC2 ubuntu20.04 jdk 11 Springboot + Maven jsp Mysql 1. 로컬에서 Ubuntu Mysql 접속, 관리하기 이 단계는 선택적으로 해도 되고 안해도 되지만, 본인의 경우 로컬에서 HeidiSQL을 사용해 원격 DB를 관리하고자 진행했다. 1-1) ubuntu mysql 외부 접속하.. 2023. 3. 31. 이전 1 2 3 4 5 6 7 8 ··· 26 다음