
상황 : intellij에서 JDK 17 version 사용하여 java 프로젝트 생성 시 발생한 에러. Settings와 Project Structure에서 모두 JDK 17로 세팅해둔 상태 해결 : gradle-wrapper.properites의 distributionUrl의 gradle 버전 7.6으로 변경 원래는 gradle 6.8이었던 것을 7.6으로 변경 빌드 성공! 참고자료 https://docs.gradle.org/7.3/release-notes.html#java17 Gradle 7.3 Release Notes Gradle Release Notes Version 7.3 The Gradle team is excited to announce Gradle 7.3. This release intr..
🎈 Hash 💡 key : value로 이루어진 자료구조 모든 데이터 타입으로 접근이 가능하다. → 배열보다 편리하다. 자바에서는 주로 HashMap 자료구조를 사용한다. Map 인터페이스를 구현한 Map Collections 중 하나로 Map 인터페이스를 상속하고 있어서 Map이 성질을 그대로 가지고 있다. Key는 중복을 허용하지 않지만 Value는 중복이 허용된다. import java.util.HashMap; // Key가 String이고 Value가 Integer 타입의 Entry를 가지는 HashMap 선언 HashMap map = new HashMap(); // 삽입 --> map.put(Key값, Value값) map.put("apple", 1); map.put("melon", 2); //..

본 게시물은 프로그래머스 FOO님의 실무 자바 개발을 위한 OOP와 핵심 디자인 패턴을 듣고 작성된 게시물입니다. 📣 동일성과 동등성 동일성 : 비교 대상이 실제로 똑같은 대상이어야 함(== 연산자 사용) 동등성 : 비교 대상이 같은 값이라고 우리가 정의한 것(equals() 오버라이딩) 동일한 인스턴스는 동등하다. public class SomeObject { private int intField; private String stringField; public SomeObject(int intField, String stringField) { this.intField = intField; this.stringField = stringField; } public int getIntField() { ret..
본 게시물은 프로그래머스 FOO님의 실무 자바 개발을 위한 OOP와 핵심 디자인 패턴을 듣고 작성된 게시물입니다. stream API와 Optional을 같이 쓸 수 있다. list.stream().filter(user -> user.sameId(inputId)) .findAny() // optional 반환 메소드 .ifPresentOrElse( user -> { throw new RuntimeException(inputId + " 이미 존재하는 아이디입니다."); }, () ->{ System.out.println(inputId + " 사용 가능한 아이디입니다."); }); findAny() 메소드가 optional을 반환하는 메소드이다.

본 게시물은 프로그래머스 FOO님의 실무 자바 개발을 위한 OOP와 핵심 디자인 패턴을 듣고 작성된 게시물입니다. 🌈 stream API Java 8부터 도입된 기능으로, 컬렉션 데이터를 다루는데 강력한 도구이다. for, if문을 대체할 수 있는 문법을 제공한다. stream API는 Collection 인터페이스 내에 존재하는 메서드로, Collection 인터페이스를 구현하는 구현체에서 사용이 가능하다. stream() 메서드를 호출하면 stream API 호출이 가능하다! forEach for문을 대체하는 반복을 위한 메서드 List integerList = new ArrayList(); integerList.add(10); integerList.add(20); integerList.add(30)..
🏹 람다식 프로그래밍 언어에서 사용되는 개념으로 '익명 함수'(이름이 없는 함수)를 지칭 자바에서는 Java 8부터 기능이 포함되었다. (매개변수) -> {함수 구현} 위와 같이 화살표(->)를 이용해서 표현한다. 왜 쓰나? 람다식을 사용하는 이유는 몇 가지 있는데 1. 라인 수 감소 2. 함수의 의도가 명확하게 읽힘 3. 람다식으로 바로 실행문을 전달할 수 있음 4. 병렬 프로그래밍 가능 그런데 역시 좋기만 한 것은 아니다. 재사용이 불가하며 남발하게 되면 가독성이 떨어진다. 함수형 인터페이스 함수형 인터페이스가 갑자기 등장했는데 알아보니 추상 메서드를 한 개만 가지는 인터페이스를 뜻한다고 한다. 람다식이랑 무슨 연관이냐면 => 자바의 람다식은 함수형 인터페이스로만 사용이 가능하다. @Functiona..
본 게시물은 프로그래머스 FOO님의 실무 자바 개발을 위한 OOP와 핵심 디자인 패턴을 듣고 작성된 게시물입니다. 💡 Optional Java8에서 제공하는 문법으로 NPE를 가독성 좋게 처리해준다. Optional을 사용하는 이유는 API 호출을 유창하게(fluent) 할 수 있기 때문이다. 자바의 Null Null은 참조할 주소 값이 없는 것을 의미한다. 자바에서 null을 참조하는 오브젝트의 메서드를호출하게 되면 NPE가 발생한다. 하지만 메서드가 static 이라면 예외가 발생하지 않고 정상 실행된다. null을 참조하는 레퍼런스 변수로 객체의 인스턴스 메서드를 호출할 때 발생하는 예외 NPE(NullPointerException)이 있다. public class NullMain { public ..
본 게시물은 프로그래머스 FOO님의 실무 자바 개발을 위한 OOP와 핵심 디자인 패턴을 듣고 작성된 게시물입니다. public class Parent { public int parentPublicInt; protected int parentProtectedInt; private int parentPrivateInt; public void someMethod() { System.out.println("Parent someMethod"); } } public class Child extends Parent { public void anotherMethod() { System.out.println("Child anotherMethod"); this.parentProtectedInt = 0; this.paren..
- Total
- Today
- Yesterday
- ddl-auto
- checkedException
- 일급컬렉션
- lowerBound
- NPE
- 생성자
- id생성전략
- 티스토리챌린지
- 메인메소드
- 백준
- 동등성
- StreamAPI
- null
- Java
- Thymeleaf
- 이진탐색
- JPA
- @NoArgsConstructor
- upperBound
- 유효성 검사
- 자바
- uncheckedException
- @Spring
- @Value
- 오블완
- Spring
- N+1문제
- springboot
- Optional
- @ConfigurationProperties
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |