| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 피연산자
- 연산자와의 관계
- 컬렉션 프레임워크
- Java
- 추상메서드
- 멱등성
- 지연로딩
- 오버로딩
- 프로그래머스
- jsoup
- null/not null
- 즉시로딩
- Shared Lock
- 프로그래머스 코테
- 참조타입
- bufferedInputStream
- 원시타입
- 변수와 상수
- InterruptedException
- delete
- git 기초
- N+1
- SQL
- exclusive lock
- foreigen key
- 메세지 큐
- 변수와 메서드
- 오버라이딩
- 서버 스크립트
- select
- Today
- Total
목록Programming/JAVA (24)
[JAVA_Back-End]
String - immutable(불변)하여 간단하게 사용이 가능하다. - 동기화에 대해 신경쓰지 않아도 된다. Thread-safe하다. (= 내부 데이터를 자유롭게 공유 가능하다) - String 객체는 한번 생성되면 할당된 메모리 공간이 변하지 않는다. +연산자 또는 concat 메서드를 통해 기존에 생성된 String 클래스 객체 문자열에 다른 문자열을 붙여도 기존 문자열에 새로운 문자열을 붙이는 게 아님. -> 새로운 String 객체를 만든 후, 새 String 객체에 연결된 문자열을 저장, 그 객체를 참조하도록 함 -> String 클래스 객체는 Heap 메모리 영역(가비지 컬렉션이 동작하는 영역)에 생성된다. 따라서 한 번 생성된 내부 내용을 변화시킬 수 없다. -> 기존 객체가 제거되면 ..
객체 지향 정의: 의존성 관리 => 객체지향으로 의존성을 관리함으로써 변경 영향을 최소화하고 독립적인 배포가 가능해지며 독립적인 개발이 가능해짐 => 따라서 객체 지향에서 가장 중요한 것은 DIP(Dependency Inversion Principle)를 통한 고수준 정책(High Level Policy)와 저수준 구현 세부사항(Low Level Details)의 분리라고 할 수 있음 객체지향 언어 주요 특징 1. 코드의 재사용성이 높다. - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. - 제어자와 메서드를 이용해서 데이터를 보..
JAVA의 원시타입(자료형) 1byte = 8bit 크기 1 byte 2 byte 4 byte 8 byte 자료형 byte short int long boolean char float double 접근 제어자의 종류 private - 해당 클래스 내에서만 접근 가능 default - 해당 패키지 내에서만 접근 가능 protected - 상속한 클래스 내에서만 접근 가능 public - 전체 영역에서 접근 가능 접근제어자를 사용하는 이유? - 외부에 보여주고 싶은 정보들을 선택적으로 제공하지 위함(캡슐화) 원시타입과 참조타입 원시타입(Primitive Type)? - Java에서 8개(위의 표) 밖에 존재하지 않는 타입. - 실제 데이터(값)을 저장하는 타입 - 멤버변수 초기화 시, 기본 값을 가짐 참조타..
클래스? 정의 객체를 정의해 놓은 것, 객체를 정의하는 틀 또는 설계도 용도 객체를 생성하는 데 사용 객체? 정의 실제로 존재하는 것 (프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻함) 용도 객체가 가지고 있는 기능과 속성에 따라 다름 유형의 객체 책상, 의자, 자동차, TV와 같은 사물 무형의 객체 수학공식, 프로그램 에러와 같은 논리나 개념 ex) TV설계도(클래스)는 TV라는 제품(객체)을 정의한 것이며 TV(객체)를 만드는 데 사용된다. 클래스를 먼저 작성한 다음, 클래스로부터 객체를 생성하여 사용한다. -> 식별 가능한 개체 또는 사물이다. 객체는 구별 가능한 식별자, 특징적인 행동, 변경 가능한 상태를 가진다. 인스턴스들을 통칭하는 용도로 사용한다. 객체의 속성과 기..
인터페이스? - 구현 객체가 같은 동작을 한다는 것을 보장하기 위해 사용 - 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 사용 - 다중 상속이 가능함. 인터페이스를 구현하는 집합간에는 관계가 없을 수 있음 인터페이스에서 정의하거나 구현할 수 있는 4가지 public interface 인터페이스 명{ //상수 //인터페이스에서 값을 정해주며 ‘절대적으로’ 참조 타입 상수명 = 값; //추상메소드 //가이드만 제공하며 해당 메소드를 오버라이딩해서 재구현해야 하는 방식임 타입 메소드명(매개변수,...); //디폴트 메소드 //인터페이스에서 기본적으로 제공해주지만, 각자 구현해서 사용할 수도 있음 default 타입 메소드명(매개변수, ...){ //구현부 } //정적 메..
어노테이션 (@) - 인터페이스를 기반으로 한 문법으로 주석처럼 코드에 달아 클래스에 특별한 의미를 부여하거나 기능을 주입 - 컴파일러에게 문법 에러를 체크하도록 정보를 제공 - 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공 - 런타임에 특정 기능을 실행하도록 정보를 제공 어노테이션의 종류 표준 어노테이션: 자바에서 기본적으로 제공하는 어노테이션 @Override: 컴파일러에게 메서드를 오버라이딩하는 것이라고 알림. 컴파일 타임에 오버라이딩에 대한 안정성을 부여함. @Deprecated: 앞으로 사용하지 않을 대상임을 알림 @FunctionalInterface: 함수형 인터페이스라는 것을 알림 @SuppressWarning: 컴파일러가 경고 메시지를 나타내지 않음 @SafeVarag..
컬렉션 프레임워크(Collection Framework) - 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 - 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해놓음 컬렉션 프레임워크 주요 인터페이스 - 데이터를 저장하는 자료 구조에 따라 핵심이 되는 주요 인터페이스를 정의 - List 인터페이스 (Collection 인터페이스를 상속받음) - Set 인터페이스 (Collection 인터페이스를 상속받음) - Map 인터페이스 (구조상의 차이로 별도로 정의) 나 => 컬렉션 프레임워크를 구성하는 모든 클래스가 제네릭으로 표현되어 있음을 알려줌 제네릭(generic)이란? - 데이터 타입을 일반화하는 것을 의미 - 클래스나 메소드에..
JVM(Java Virtual Machine) - JAVA 애플리케이션을 클래스 로더를 통해 읽고 JAVA API와 함께 실행하는 것 - 메모리 관리(GC)를 수행하는 스택기반의 가상머신 JVM의 구조 클래스 로더 (Class Loader) JVM내로 클래스를 로드하고, 링크를 통해 배치하는 작업을 수행하는 모듈 실행 엔진 (Execution Engine) Byte code를 실행시킴 인터프리터: 바이트 코드를 한줄씩 실행 JIT 컴파일러: 인터프리터 효율을 높이기 위한 컴파일러 GC(Garbage Collector) : 힙 영역에서 사용되지 않는 객체들을 제거하는 작업 GC(Garbage Collector)란? - 힙 영역에서 사용하지 않는 객체들을 제거하는 작업 - JAVA는 개발자가 메모리를 직접 ..
[JAVA] Network 내일 * 개인 프로젝트.. 금요일 - SQL 퀴즈 SQL 캡처화면 [Lambda] 자바스크립트: 화살표 함수 MainEx01.java - 인터페이스 사용하기 package pack1; public class MainEx01 { public static void main(String[] args) { // TODO Auto-g thstnqls.tistory.com Data 로컬 - 파일 원격 - 데이터베이스 - sql => 실제 데이터 - html - http client - html parser(String) - OpenAPI 공식으로 제공하는 데이터 각 포털 공공기관 - xml(html) / json => parsing - library => Mash..
내일 * 개인 프로젝트.. 금요일 - SQL 퀴즈 SQL 캡처화면 [Lambda] 자바스크립트: 화살표 함수 MainEx01.java - 인터페이스 사용하기 package pack1; public class MainEx01 { public static void main(String[] args) { // TODO Auto-generated method stub //익명 내부클래스 new MyFunctionalInter() { @Override public void method() { // TODO Auto-generated method stub System.out.println("메소드 호출"); } }.method(); //또 다른 방법 MyFunctionalInter f = new MyFunction..