Generic 알아보기
📌 제네릭은 조금 까다로운 개념과 문법을 가지고 있다.
제네릭을 왜 쓸까 ?
“중복되거나 필요없는 코드를 줄여주기 위해"
그러면서 타입 안정성도 해치치 않아야 한다
제네릭 살펴보자 !
//1
public class Generic<T> {
// 2.
private T t;
// 3.
public T get() {
return this.t;
}
public void set(T t) {
this.t = t;
}
public static void main(String[] args) {
// 4.
Generic<String> stringGeneric = new Generic<>();
// 5.
stringGeneric.set("Hello World");
String tValueTurnOutWithString = stringGeneric.get();
System.out.println(tValueTurnOutWithString);
}
}
// 제네릭은 클래스 또는 메서드에 사용 할 수 있다.
클래스 이름 뒤에 <> 문법 안 에 들어가야 할 타입 변수를 지정
객체의 static 멤버에 사용 할 수 없다.
static T get() { ... } // 에러
static void set(T t) { ... } // 에러
Q 클래스 생성자를 통해 필드값 매핑을 잘 해놨는데 데이터가 원하는대로 작동을 안한다
A Static 변수는 Class 고정변수
즉 ,프로그램이 시작된 즉시 메모리에 할당되어서 프로그램 종료시에 해제된다
각 객체별로 다른 값을 유지하고 싶으시다면 static 키워드를 삭제하기
Q new ArrayList<>() 와 List.of() 의 기능과 차이점
A List.of() 는 리스트 내 원소에 대한 추가/삭제가 불가능한 리스트를 생성해주는 메서드
원소 수정 불가
new ArrayList<>() 는 리스트 내 원소에 대한 추가/삭제/수정이 모두 가능한 리스트로 초기화해주는 생성자
Q Java에서 프로젝트, 패키지의 명명법은 어떻게 되나?
A 프로그래밍 언어에서는 snake_case, camelCase 가 주로 사용되는데 Java에서는 camelCase를 사용
Spring 학습 시작
자바 기본 문법을 배우고 Spring에 대해 배우기 시작했다.
아직 자바도 제대로 알지 못해서 더 열심히 학습을 해야될거 같다
그레이들(Gradle)이란 무엇일까?
Gradle은 빌드 자동화 시스템
내가 작성한 Java 코드를 설정에 맞게 자동으로 Build 해준다
API란?
API(application programming interface)
다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의
개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거 나 생성
📌 쉽게 표현해보자면 API는 하나의 "약속"
API 중요하다
RESTful API란?
Representational State Transfer(REST)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키 텍처
간단하게 말해서 , 내 서버의 api가 http를 준수하며 잘 설계 돼 있으면
RESTful 하게 설계 돼 있다 ( 쌈뽕하다)
'TIL' 카테고리의 다른 글
TIL - 2024/05/20 (2) | 2024.05.20 |
---|---|
TIL - 2024/05/17 (0) | 2024.05.17 |
TIL - 2024/05/14 (4) | 2024.05.14 |
TIL - 2024/05/13 (4) | 2024.05.13 |
TIL - 2024/05/10 (0) | 2024.05.10 |