>

2024/12 17

JSTL

📑 JSTLJSP 표준라이브러리. (JavaServer Pages Standard Tag Library)JSP에서 반복문과 조건문, 데이터 관리 포맷, XML 조작, 데이터베이스 액세스를 구현하는 커스텀 태그 라이브러리의 모음.자신만의 태그를 추가할 수 있다. Java 코드를 바로 사용하지 않고 HTML 태그() 형태로 직관적인 코딩을 지원한다. => EL(Expression Language)*EL은 하단에서 다시 설명. 라이브러리기능접두어코어  일반 프로그램 언어에서 제공하는 변수선언, 조건/제어/반복문등의 기능을 제공한다. c포맷팅  숫자,날짜,시간을 포맷팅 하는 기능과 국제화, 다국어 지원 기능을 제공한다. fmt함수  문자열을 처리하는 함수를 제공한다.  fn데이터베이스  데이터베이스의 데이터를..

TIL 2024.12.31

JAVA Spring - Bean

📑 BeanSpring IoC 컨테이너가 관리하는 자바 객체.*IoC: Inversion of Control. 제어의 역전. 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 뜻.컴포넌트 의존관계 설정, 설정 및 생명주기를 해결하기 위한 디자인 패턴.IoC 컨테이너스프링 프레임워크의 객체 생성 및 관리와 의존성 관리를 책임지는 컨테이너.스프링 컨테이너라고도 함. 객체들은 독립적으로 동작하는 것보다 서로 상호작용하여 동작하는 경우가 많은데,이렇게 상호작용하는 객체를 '객체의 의존성'이라고 표현함.스프링 컨테이너에 객체들을 생성하면 객체끼리 의존성을 주입(DI, Dependency Injection)하는 역할을 함.스프링 컨테이너에 등록한 객체들 = 빈. 인스턴스 생성부터 소멸까지의 ..

TIL 2024.12.17

JAVA - 자바 웹 프로젝트 개념

📑 AnnotationAnnotation은 프로그램 내에서 주석과 유사하게, 프로그래밍 언어에는 영향을 미치지 않으면서 프로그램/프로그래머에게 유의미한 정보를 제공하는 역할을 한다. 표준 어노테이션Annotation쓰임@Override컴파일러에게 오버라이딩하는 메서드라는 것을 알린다. 오버라이딩을 올바르게 했는지 컴파일러가 체크하게 한다.(오탈자가 있다면 컴파일 에러를 발생시켜 문제를 막는다.)@Deprecated앞으로 사용하지 말 것을 권장하는 대상에 붙인다. 에러는 아니지만 알림 메세지가 출력된다.@SuppressWarnings컴파일러의 특정 경고메세지가 나타나지 않게 해준다.@SafeVarargs제너릭 타입의 가변인자에 사용한다.(JDK 1.7)@FunctionalInterface함수형 인터페이스..

TIL 2024.12.17

JAVA - Map, Maven

📑 Map 자료구조Map은 인터페이스로 선언되어 있고 Map으로 구현한 여러 클래스들이 있다.Map 인터페이스는 키와 값을 하나의 쌍으로 저장하는 Key-Value방식을 사용한다.=> Key로 Value를 얻어냄.*키(key): 실질적인 값(value)을 찾기 위한 이름의 역할. 특징- 요소의 저장 순서를 유지하지 않음.- Key는 중복을 허용X, Value는 중복 허용.*이미 존재하는 Key 값을 다시 저장하면 기존 값이 사라지고 새로운 값으로 대체된다. 가장 많이 쓰이는 클래스는 HashMap, TreeMap, LinkedHashMap이다.  🖤 HashMapHashMap map = new HashMap();HashMap hm = new HashMap();Hashmap의 키로 사용할 객체는 has..

TIL 2024.12.16

JAVA - 클래스, 제어자, 인스턴스, final

📑 클래스클래스는 객체를 만들기 위한 설계도이다.(class명과 파일명이 같아야만 함.) 클래스의 구성요소를 멤버라고 부름.멤버 - 속성을 표현하는 필드 & 기능을 나타내는 메서드.클래스는 생성된 객체의 필드를 초기화해주는 메소드인 생성자를 가짐.접근제어자 class 클래스이름 { 접근제어자 필드1의타입 필드1의이름; 접근제어자 필드2의타입 필드2의이름; ... 접근제어자 메소드1의 원형 접근제어자 메소드2의 원형 ...}; ◾ 필드(field)객체 내에 값을 저장할 멤버 변수.클래스 내에서 선언된 위치에 따라 클래스 변수, 인스턴스 변수, 지역변수로 구분. ◾ 메소드(method)함수. 객체의 행동을 구현. ◾ 생성자(constructor)클래스의 이름과 동일한 메서드..

TIL 2024.12.16

JAVA - Lambda 표현식, Stack과 Deque

📑 Lambda 표현식int add(int x, int y) { return x + y;}// 위의 메서드를 람다 표현식을 이용해 아래와 같이 단축 시킬수 있다. (메서드 반환 타입, 메서드 이름 생략)(int x, int y) -> { return x + y;};// 매개변수 타입도 생략 할 수 있다.(x, y) -> { return x + y;};// 함수에 리턴문 한줄만 있을 경우 더욱 더 단축 시킬 수 있다. (중괄호, return 생략)(x, y) -> x + y;   StackLIFO(Last In First Out)java.util.Stack  클래스를 통해 자료형을 제공. Vector 클래스를 상속받아 구현됨.Method삽입 - push(e)삭제 - pop()조회 - peek() 사..

TIL 2024.12.13

JAVA - 문자열 다루기, 삼항연산자, If-else문과 switch-case문 비교

📑 문자열 메서드charcharAt(int index)특정 위치의 문자를 리턴합니다.booleanequals(Object anObject)두 문자열을 비교합니다.byte[]getBytes()byte[]로 리턴합니다.byte[]getBytes(Charset charset)주어진 문자셋으로 인코딩한 byte[]로 리턴합니다.intindexOf(String str)문자열 내에서 주어진 문자열의 위치를 리턴합니다.intlength()총 문자의 수를 리턴합니다.Stringreplace(CharSequence target, CharSequence replacement)target 부분을 replacement로 대치한 새로운 문자열을 리턴합니다.Stringsubstring(int beginIndex)beginInd..

TIL 2024.12.13

JAVA - 인터페이스

📑 인터페이스• 인터페이스: 두 객체를 연결하는 것.자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 사용.ex. 객체 A가 인터페이스의 메소드를 호출 → 인터페이스가 객체 B의 메소드를 호출 → 그 결과를 인터페이스가 받아 객체 A로 전달.  • 객체 A가 객체 B의 메소드를 직접 호출하도록 하지 않는 이유: 이렇게 인터페이스를 거치지 않는 경우, 객체 B가 객체 C로 변경된다면 A의 소스코드를 객체 B에서 객체 C로 변경하는 작업이 추가로 필요해지기 때문이다.⇒ 다형성 구현에 주된 기술로 인터페이스를 사용.(상속을 이용하는 방법도 있지만 인터페이스 사용 多)   인터페이스 선언-class 대신 interface 키워드 사용.접근 제한자는 클래스와 마찬가지로 같은 패..

TIL 2024.12.12

JAVA - 객체 지향 프로그래밍 언어의 특징, 클래스

📑 객체지향프로그래밍의 특징 캡슐화: 데이터(필드)와 동작(메소드)를 하나로 묶고 실제 구현 내용을 외부에 감추는 것. 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 보호. 접근 제한자를 사용함.더보기더보기* 접근 제한자- public: public으로 설정된 클래스, 변수, 메소드는 외부 어디에서나 접근 가능. (다른 패키지에서도 접근 가능)- protected: 이 클래스를 상속하는 자식 클래스와 같은 패키지에 있는 클래스에서 접근 가능.- private: 클래스 내부에서는 자유롭게 접근이 가능하지만, 외부에서는 접근이 불가능.- default: 동일한 패키지에서 접근 가능, 상속: 상위객체(부모객체)의 필드와 메소드를 하위객체(자식객체)에게 물려줌.다형성: 프로그램을 구성하는 객체를 바꾸면 ..

TIL 2024.12.12