본문 바로가기

분류 전체보기186

제네릭 1. 제네릭이란 - 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능 - Java에서 다양한 데이터 타입을 사용하는 클래스나 메서드를 작성할 때, 코드의 재사용성과 안정성을 향상시키기 위해 도입된 기능 2. 사용 방법 - 선언 방법은 아래와 같음 public class ClassName { ... } public class ClassName { ... } - Key, Value를 사용하는 Map과 같은 경우, 두 가지 변수를 선언할 수 있음 - T, V 등의 타입은 클래스 안에서만 유효 - MyCustomList.class package oop2.jenerics; import java.util.ArrayList; public class MyCustomList {.. 2024. 1. 17.
[DB] index [index] 1. 인덱스란? - 인덱스: 데이터베이스 테이블에 대한 검색 성능(속도)을 높여주는 자료구조 - 책의 목차와 비슷한 개념, 목차 = 인덱스 / 페이지 = 물리적 저장주소 / 내용 = 데이터 2. 작동 방식 - 특정 컬럼에 인덱스를 생성하면 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 - where조건 등을 통해 생성한 인덱스를 탐색할 수 있음 - 인덱스에 저장되어있는 데이터의 물리적 주소로 가서 데이터를 가져오는 식으로 동작 - 검색 속도의 향상 3. 인덱스의 장점과 단점 장점 - 테이블을 조회하는 속도와 그에 따른 성능을 향상시킬 수 있음 - 시스템의 부하를 줄일 수 있음 단점 - 인덱스를 관리하기 위한 추가작업과 공간이 요구됨 - 인덱스를 잘못.. 2024. 1. 16.
[TIL] 유데미X사람인 취업 부트캠프 23일차 / java [1. 오늘 배운 것] 1. ArrayList 정렬 - Collections.sort(배열이름); 2. Set 인터페이스 - 중복이 허용되지 않음 - 위치 접근을 제공하지 않음 (특정 위치에 요소 추가 불가능) - 요소들을 쉽게 삽입할 수 있고 검색과 제거 또한 쉬움 - 배열에 비해 요소의 삽입이 빠름 3. Tree - 노드를 기준으로 왼쪽에는 더 작은 값이, 오른쪽에는 더 큰 값이 삽입됨 4. HashSet, LinkedHashSet, TreeSet - HashSet의 저장 방식 : modulo - LinkedHashSet의 저장방식 : 저장순서 - TreeSet의 저장방식 : 정렬 - 저장방식 비교 5. 숫자 반환 - floor : 이하값 중 가장 큰 값 - lower : 미만 값 중 가장 큰 값 -.. 2024. 1. 16.
[DB] ORM [ORM의 개념] - Object Relational Mapping, 객체-관계 매핑 - 객체 지향 프로그래밍에서의 객체를 구현한 클래스와 RDB의 테이블을 연결해주는 것 - ORM을 통해 자동으로 SQL문을 생성하여 연결하는 방식 - 즉, 사용자가 SQL문을 짤 필요가 없어진다 [ORM의 장단점] 1. 장점 - 객체지향적인 코드 작성 가능 : ORM을 활용하면 메서드를 통해서 데이터베이스 관리가 가능해지므로, 프로그래밍에 집중할 수 있게 함 - DBMS 종속성 하락 : 대부분의 ORM은 DB에 종속적이지 않기 때문에 구현 방법 뿐만 아니라 자료형 타입까지 유효함 - 재사용 및 유지보수의 편리성 증가 : ORM은 독립적으로 작성되어있고, 해당 객체들을 재활용할 수 있음/ 매핑 정보가 정확하여 ERD에 대.. 2024. 1. 15.
[TIL] 유데미X사람인 취업 부트캠프 22일차 / java 객체지향 [1. 오늘 배운 것] 1. 클래스, 객체, 상태, 행동 - 단순한 템플릿, 이를 바탕으로 객체 생성 MotorBike ducati = new MotorBike(100); MotorBike honda = new MotorBike(100); - ducati는 MotorBike의 인스턴스 - ducati, honda = 객체 - 상태 : 멤버 변수 - 행동 : 메서드 2. 상태와 생성자 결정 - Fan.class package oop2; import java.util.PrimitiveIterator; public class Fan { //state private String make; private double radius; private String color; private boolean isOn; pr.. 2024. 1. 15.
상속 (장/단점) [상속(inheritance)] 1. 개념 및 특징 - 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 2. 사용방법 - 새로 사용하고자 하는 클래스(하위클래스)의 이름 뒤에 상속받고자 하는 클래스(상위클래스)의 이름을 키워드 'extends'와 함께 쓰기 - 예시 class point { } class circle extends point { } class point { int x; int y; } class circle extends point { int r } 3. 포함관계와의 비교 - 포함관계 : ~을 가지고 있다 class circle { point c = new point(); int r; } - 상속관계 : ~은 이다 class circle extends point { int r; }.. 2024. 1. 15.