반응형
목록
java (139)
[꼼꼼한 개발자] 꼼코더
📚자바 컬렉션(Collection)이란? 자바 컬렉션(Collection)은 객체를 모아 놓은 것을 표현하는 자바 API. 자바에서 제공하는 컬렉션은 다양한 형태와 성격을 가지고 있으며, 대표적인 것으로 List, Set, Map 등이 있다. 🚂 List 순서가 있는 데이터의 모음 중복된 데이터를 허용. ArrayList, LinkedList 등의 구현체가 있다. 🍽️ Set 순서가 없는 데이터의 모음 중복된 데이터를 허용하지 않는다 HashSet, TreeSet 등의 구현체가 있다. 🗺️ Map Key-Value 쌍의 데이터를 저장하는 자료구조 Key는 중복될 수 없다. HashMap, TreeMap 등의 구현체가 있다. 추가적인 내용은 아래를 참고해보자. https://ccomccomhan.tisto..
🧐 Lombok이란? Lombok은 자바 언어에서 반복적이고 지루한 작업을 줄이기 위한 라이브러리이다. Getter, Setter, Constructor, Equals, HashCode 등의 코드를 자동으로 생성하여 개발자가 직접 작성하지 않아도 되도록 도와준다. 이를 통해 코드의 가독성과 생산성을 높일 수 있습니다. 👨🏻💻 예제 코드 Lombok을 사용하여 Getter와 Setter 메소드를 자동으로 생성하는 예제 코드는 아래과 같다. import lombok.Getter; import lombok.Setter; @Getter @Setter public class Person { private String name; private int age; } @Getter와 @Setter 어노테이션을 사용하여..
🧑🏻🏫 간단 정리 JPA는 자바의 ORM기술을 쉽게 구현하도록 도와주는 API이다. JpaRepository를 상속하는 인터페이스에 메서드 이름만 적어놓으면 알아서 다 처리(구현체 생성, 쿼리문 구현 등)해주는 좋은 ORM이다. 메소드 이름은 findby(필드명), deleteby(필드명)처럼 메소드 명칭만 적어주면 개발자는 SQL을 작성하지 않아도 쿼리문을 만들어준다. 이때 엔티티라는 클래스를 이용하는데 객체를 이용하여 매핑을 처리하는 것이다. 어렵다면 엔티는 == 테이블 or 레코드라고 생각해 보자! 자세한 건 아래 글을 읽어 보도록 하자. 🧐JPA(Java Persistence API)란? 자바에서 객체를 데이터베이스에 저장하고 관리하기 위한 인터페이스와 기능을 제공하는 API. JPA를 사용하면..
🧹 간단 정리 MyBatis를 사용하면 DB를 쉽게 다룰 수 있다. 예시) preparedstatement처럼 쿼리문을 복잡하게 입력하지 않고 실제 쿼리문과 유사하게 작성할 수 있다. preparedstatement : "UPDATE users SET name =?, email =? WHERE id =?" MyBatis : UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id} MyBatis의 또 하나의 장점은 동적 쿼리 작성이 가능하다. MyBatis 사용 방법순서 : 의존성 설정 -> DB 설정 -> MyBatis 설정 -> Mapper 인터페이스 작성 -> XML 작성 -> MyBatis 사용 아래글을 보고나면 이해가 훨씬 더 잘 될 ..
😮 디자인 패턴(Design pattern)이란? 소프트웨어 개발 과정에서 자주 발생하는 문제들을 해결하기 위해 공통적으로 사용되는 설계 방법을 정리한 것이다. 디자인 패턴을 사용하면 개발자들은 이미 검증된 해결책을 활용하여 소프트웨어 시스템을 더욱 효율적이고 유연하게 구현할 수 있다. 📚 디자인 패턴의 대표 3가지 디자인 패턴은 크게 3가지 카테고리로 분류할 수 있다. 생성 패턴(Creational Pattern) 객체 생성에 관련된 패턴. 객체를 생성하는 방법과 객체의 유형을 결정하는 방법에 대한 문제를 해결한다. 구조 패턴(Structural Pattern) 클래스와 객체를 조합하여 더 큰 구조를 만들 수 있는 패턴. 객체 간의 관계를 구성하는 방법에 대한 문제를 해결한다. 행동 패턴(Behavio..
🎭 형변환의 의미 Java에서 형변환이란 변수의 자료형을 다른 자료형으로 변환하는 것을 의미한다. 😮 명시적 형변환 연산 (Casting) 변수의 자료형을 강제로 변환하는 연산 강제로 형변환을 수행하기 때문에, 데이터의 손실이 발생할 수 있음 👨🏻💻 예제 코드 (변환할 자료형) 변수이름 double a = 3.14; int b = (int) a; // double 타입 변수 a를 int 타입으로 변환하여 변수 b에 대입 😷 암묵적 형변환(Promotion) 자료형의 크기가 작은 자료형에서 큰 자료형으로 자동 변환하는 것 데이터의 손실이 발생하지 않음 👨🏻💻 예제 코드 자료형 크기가 작은 변수이름 = 자료형 크기가 큰 값; int a = 10; double b = a; // int 타입 변수 a의 값을..
📚 Optional에 대하여 Java 8부터 도입된 Optional은 값이 없는 경우를 표현하기 위한 클래스이다. Optional 클래스는 제네릭을 사용하여 어떤 타입의 객체도 감싸서 담을 수 있다. Optional 객체는 값이 존재할 수도 있고, 없을 수도 있다. 이는 NullPointerException 예외를 방지할 수 있고, 코드의 안정성을 높이며 가독성을 향상시킨다. 🥜 Optional 객체 생성(이론) Optional 객체를 생성하려면, of(), ofNullable(), empty() 등의 정적 팩토리 메서드를 사용할 수 있다. of() 메서드 : 값이 null이 아닌 경우에만 Optional 객체를 생성 ofNullable() 메서드 : 값이 null인 경우에도 Optional 객체를 생성..
📚 공부 백엔드(팀장) 친구가 준 자료들로 자바 공부를 진행하였다 상속, 오버라이딩, 인터페이스, 추상화 정도를 마치고 Servlet을 강의로 배웠었다. 웹이 어떻게 동작하는지, 동적 페이지, 정적 페이지, 세션 쿠키.. 등 그렇게 3월이 됐다...... 응..?? 너무 느린 거 아닌가? 맞다 지금 생각해도 너무 느리다 이유는 자바에서 1달 정도 걸렸다(처음부터 다시 공부했기 때문) 또한 Servlet 강의가 엄청 많은데 그걸 다 일일이 듣고 있었다 자바 기본은 중요하다 하여 예제를 하나하나 전부 타이핑하고 단원별 문제도 하나하나 다 풀었었다 서블릿 강의도 하나하나 전부 다 따라 타이핑하고 강의를 꼼꼼히 들었었다 + 추가로 모든 공부 내용을 매우매우 꼼꼼하게 개인 블로그(노션)에 작성했었다. 여기서 문제..