본문 바로가기

전체 글

Java 생성자(constructor) 1. 생성자(constructor): 인스턴스가 생성될 때 호출되는 인스턴스 변수 초기화 메서드 1) 클래스 내에 선언 됨 2) 메서드와 유사한 구조이지만 리턴값이 없음 (생성자도 메서드이기 때문에 void를 붙여야 하지만 모든 생성자가 리턴값이 없으므로 void를 생략할 수 있게 한 것) 3) 생성자명은 클래스명과 같아야 함 class Card { // 클래스명과 생성자명은 같아야 함 ... Card() { // 매개변수 없는 생성자 // 인스턴스 초기화 작업 } Card(String kind, int number) { // 매개변수 있는 생성자 // 인스턴스 초기화 작업 } } 2. 기본 생성자(default constructor): 매개변수가 없는 생성자로, 클래스 내에 생성자가 존재하지 않을 경우.. 더보기
Java 메서드 오버로딩(method overloading) 1. 정의: 한 클래스 안에 같은 이름의 메서드를 여러개 정의하는 것 2. 오버로딩 성립 조건 1) 메서드명이 같음 2) 매개변수 개수 또는 타입이 달라야 함 3) 반환 타입은 관계 없음 더보기
[WIL]이노베이션 캠프 10주차 10주차 회고 더보기
[TIL]이노베이션 캠프 70일차 1. 개발 진행 상황 2. 개발 중 발생한 이슈와 해결 3. 새로 배운 것 4. 참고 레퍼런스 5. 오늘 한 일 / 회고 6. TO-DO LIST 7. 특이사항 더보기
[TIL]이노베이션 캠프 69일차 1. 개발 진행 상황 코스와 장소의 관계를 정리해보려고 함 코스 1개의 3개의 장소가 들어갈 수 있음, 어제와 다른 형태인 이유는 이 관계는 양방향 관계가 적합할 것으로 판단되기 때문이다. 이유 1. 생성, 수정, 조회가 같이 되는 형태이고, 장소만 삭제가 되기도하지만 코스가 삭제되면 장소도 당연히 삭제되고있음 이유 2. 코스를 찜할 수도있지만 장소도 각각 찜하기가 되는 형태이기 때문에 같이 또 따로 기능이 되고 있음 2. 개발 중 발생한 이슈와 해결 1) 기존 코드 // Place @ManyToOne(fetch = FetchType.EAGER) @JsonBackReference private Post post; // Post(Course) @OneToMany private List place; 2) 수.. 더보기
[TIL]이노베이션 캠프 68일차 1. 개발 진행 상황 코드를 계속 수정중인데 DB쪽을 제대로 잡고 가야할 것 같다. 조인이랑 관계의 종류와 방향을 제대로 모르고 필요한 것만 검색해서 필요 할 때마다 해결 방법으로만 적용시켜서 제대로 잡고가야 하지 않을까 싶다. 검색 기능을 문제점 없는 지 확인하고, 중복 검색이랑 띄어쓰기가 들어간 검색을 추가하고, 기능 추가 후에는 검색된 데이터를 이용해서 추천에도 활용해 볼까 생각했는데, 검색도 결국 DB와 관련되기 때문에 공부를 좀 더 하려고 한다. 2. 개발 중 발생한 이슈와 해결 1) 기존 코드 - n:1관계, 관계의 주인인 CourseHeart와 단일 값인 course_id를 연결 - 일반적으로 참조되는 개체(Post)의 타입으로 유추 가능하므로 명시적으로 지정할 필요 없음 처음에 코스를 po.. 더보기
[TIL]이노베이션 캠프 67일차 1. 개발 진행 상황 post 찜하기 기능 코드 리팩토링 기존 코드 // Post @ColumnDefault("0") @Min(0) private int heart; // 코스(게시글) 찜하기 public void addHeart() { this.heart += 1; } // 코스(게시글) 찜하기 취소 public void deleteHeart() { this.heart -= 1; } // Service // 코스(게시글) 찜하기 @Transactional public CourseHeartResponseDto addPostHeart(Long courseId, Member member) { Post post = postRepository.findById(courseId).orElseThrow( () -> .. 더보기
[TIL]이노베이션 캠프 66일차 1. 개발 진행 상황 기존에 구현한 Post 평가하기, 그리고 그 평가 점수 평균값 저장하기 코드 리팩토링 현재 코드 // Controller // 코스(게시글) 평가 점수 주기 @PostMapping( "/api/course/score/{courseId}") public ResponseEntity createScore(@PathVariable Long courseId, @RequestBody ScoreRequestDto requestDto, @AuthenticationPrincipal UserDetailsImpl userDetails) throws IOException{ scoreService.scoreCreate(courseId, requestDto, userDetails.getMember()); r.. 더보기