일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- Spring # IOC # Bean # Service # Component# Repository # Controller # RestController # Framework # 컨테이너 #의존성 # Json#@#비즈니스로직 # 컴포넌트 #어노테이션 #클래스 # 예시
- SQLD#SQL#식별자#비식별자#데이터모델링 #개념 #정의 #엔터티#속성 #도메인 #관계 스키마 #ERD
- java # 홀수 #약수#소수 #합 # 판별 #멋사
- Map #HashMap #LinkedList# Array# Stack #Queue#링크드맵 #트리맵 #자바 개념 #자바 JAVA
- 우테코#우아한테크코스#6기 #우테코6기#자소서#회고#후기#자소서과정
- Spring#Skeleton#Service#controller#CRUD#DTO#ID#Read-all#Update#Delete#Create#JPA#class#interface#Repository#DB#의존성 주입#인터페이스#클래스#RequestMapping#method#메소드#요청#응답
- Spring#Springboot#Xml#Mapper#Interface#SQL#{}###$#MyBatis#yaml#Annotation#Private#public#Insert#Update#select#delete#쿼리#메소드#매개변수
- JAVA #JVM #GC #자바 #가비지컬렉터 # 제네릭 #Generic # Static #스태틱 # 접근제어자 #인터페이스 #추상클래스 #OOP # 객체지향 #객체지향적 프로그래밍 언어 # final
- Java #알고리즘 # 선택정렬 # 삽입정렬 # Insert Sort # Selection Sort #정렬
- java #메소드 # main메소드 #
- java #멋사 # 소인수분해
- Java # DI # Static #Method #자바 # 의존성 주입 # 스태틱메소드 # This #오버로딩 #오버라이딩 #추상클래스
- #리팩토링 #
- 최대최소값
- OOP #객체지향프로그램 #절차지향 프로그래밍#함수형 프로그래밍# 객체지향프로그래밍 #SOLID # CallByValue #CallByReference#String#String Buffer#String Builder
- SQL #SQLD # DDL #DML# DCL# TCL # 트랜잭션 #개념 # 데이터베이스
- 토스 #토스개발자챌린지# next#코딩테스트 #토스 코테 #2024#온라인 코테#toss
- SQL #SQLD # 제약조건 # 기본키 #외래키 # FK #PK #NOTNULL
- Spring #CRUD#DELETE#UPDATE#CREATE#READ#DB#API#JAVA#스프링#삭제#생성#갱신#삭제#JSON
- MVC #Model #Controller#View #Model1 #Model2 #MVC패턴#컨트롤러#뷰#모델#모델1#모델2
- java #do-while문 #while # 멋사 # 개념정리
- Spring # Optional #Null # Read-all # 정적메소드# 클래스 #JPA#Service#Controller #App # 웹 # 애플리케이션 # Dto#객체 #팩토리#스프링부트#프레임워크
- Return
- 우테코 # 우아한테크코스 # 백엔드# 회고록 # 우테코 6기 # 숫자야구게임 # 게임 #프로젝트
- #Java # private #constructor #Getter#Setter #List #ArrayList #LinkedList #생성자 #Generic #Collection #컬렉션 #제네릭
- #시간복잡도 #o(n2)의 시간복잡도
- Spring# API # Bean#App#Controller#Configuration#Component#AllArgsConstructor#Service#RestController#HTTP#ResponseBody#JSON#스프링#웹#애플리케이션#프레임워크#어노테이션#컨테이너#IoC컨테이너 #IoC#의존성
- 스프링#자바#클라이언트#응답#요청 #파라미터#포스트맨 #HTTP#Postman#RequestBody#ResponseBody#Controller#Dto#package#Slf4j#JSON#Spring#SpringBoot#Data#데이터#프로토콜#GET#POST#PUT#DELETE#Code#Header#Body#Lombok
- JAVA #JAVASE#JAVAEE ##Thread #ThreadLocal #primitive type # reference type #바이트 코드 #동적로딩 #쓰레드 #기본데이터타입 #참조 데이터 타입 #클래스 로더 # 심볼릭레퍼런스 #자바 언어 #컴파일언어#스크립트언
- Today
- Total
말하는 햄zzi
Collection-List Array/Generic/Constructor/Getter/Setter 본문
컬렉션(Collection)
- 데이터의 집합, 그룹을 의미
JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렌션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공

List interface (정렬된 모든 객체 컬렉션을 저장할 수 있는 목록 데이터 전용)
-중복되는 데이터들을 저장해야 할 때, 배열에 들어간 순서를 유지하고 싶을 때 사용
List 사용하는 이유
: 길이 자동 조정 / 크기 지정 유연하게 가능
(Array는 생성할 때 고정된 크기값을 주어야 해서 불편하다, 선언후 길이 조정 불가 새롭게 배열 생성해야한다.)
int[] arr = new int[10];
int[] arr2 = {2,3,4};
ArrayList - 인터페이스를 구현하는 클래스 중 대표적 (클래스는 내부적으로 배열을 이용하여 요소를 관리)
- 단방향 포인터 구조로 각 데이터에 대한 인덱스를 가지고 있어 조회 기능 성능이 뛰어나다.
- 검색이 빠르다 . 순차적으로 데이터가 추가된다면 빠르다.
- 하지만 List들의 중간중간 데이터에 빈번한 추가 삭제가 일어난다면 느리다.
- List 컬렉션을 여러 스레드에서 공유해야 한다면 Thread safe 하지 않다.
LinkedList
-List 인터페이스를 구현한 클래스 중 하나
-데이터의 순서를 유지하는 특징
-양방향 포인터 구조로 데이터의 추가, 삭제 시 데이터의 위치정보만 수정하면 되기에 좋은 성능을 발휘
- 하지만 검색이 느리다.
- 스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰인다
제네릭(Generic)
-컬렉션에 타입을 지정해주는 기능
클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 의미
Ex) 반, 학과
Constructor(생성자)
-클래스의 개체를 초기화하는 데 사용되는 특수 메서드
※생성자(Constructor)특징※
- 'new' 키워드를 사용하여 클래스의 인스턴스를 생성할 때 자동으로 호출
- 생성자는 클래스와 이름이 같다
- 리턴 값이 없고, 심지어 'void'도 없습니다.
- 클래스 내부에 선언되어야 하며, 접근 제한자를 사용할 수 있다.
- 클래스에 생성자를 정의하지 않을 시 컴파일러가 자동으로 기본 생성자를 만들어 준다.
- 아무 것도 하지 않고, 매개변수가 없는 빈 메소드
Getter/ 은닉성
-클래스의 인스턴스 멤버 변수의 값을 외부에서 읽을 수 있도록 가져오는 메서드
-해당 변수 값을 반환하는 역할
-보통 필드 이름 앞에 "get"을 붙여서 메서드 이름을 작성
-읽기 전용으로 해당 변수의 값을 변경 X
Getter : getFieldName()
-접근 제한자 : public
-ReturnType : 필드 returntype
-Method name : get + 필드 이름 (첫문자- 대문자 시작)
-Return값 : 필드 값
Setter
-클래스의 인스턴스 멤버변수에 값을 외부에서 변경 할 수 있도록 설정하는 메서드
-변수의 값을 인자로 받아 설정
-변수의 값을 변경하는 역할
-유효성 검사/ 제한 조건 추가하여 잘못된 값 설정을 방지
-void 타입을 리턴
Setter : setFieldName(type fieldName)
-접근 제한자 : public
-ReturnType : void
-Method name : set+ 필드 이름 (첫문자- 대문자 시작)
-매개 변수 타입 : 필드 타입
Getter/Setter사용 이유
- 객체들이 데이터를 외부에서 직접적으로 접근하는것을 막기 위해
필드를 private 접근제한자로 막고, 각 필드의 Getter/Setter로 접근하는 방식
※ Private로 만들어 외부 접근제한 후, Setter을 사용해 전달받은 값을 내부에서 가공 , 필드에 넣어주는 방식
Getter을 사용해 필드 값 숨긴채 내부 가공한 값 가져와서 꺼내보는 방식
즉, 객체의 무결성 보장하기 위해 사용
▷ 무결성 : 데이터의 정확성과 일관성을 유지, 보증
'Java > Java' 카테고리의 다른 글
JAVA (1) (0) | 2023.06.20 |
---|---|
o(n2)의 시간복잡도 / 버블정렬 / 삽입정렬/선택정렬 (0) | 2023.05.18 |
스태틱(static)메소드/ 리팩토링/오버로딩/This / 추상클래스/DI (0) | 2023.05.10 |
메소드 (0) | 2023.05.09 |
소인수분해/ 최대 최소값 (0) | 2023.05.06 |