일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 피드백
- 에러해결
- JAVA기본
- 정리글 작성법
- 사용자계정 #WSL2
- 회고록
- 코딩테스트
- 코드스테이츠 #
- 인터넷 #ISP
- mapstruct
- 호스트주소 #Host주소
- 롤중독
- WSL #Linux #ubuntu
- 백엔드로드맵
- String
- Java환경
- 회고
- git #intellij
- Git #회고록
- 회고록_코드스테이츠
- 코드스테이츠 #회고록
- WSL2 #권한
- 공부방식
- 몰입학습 #몰입
- 네트워크 기초
- 시작 #꾸준히 #과하지않게
- 회고 #주간회고
- OOP
- 글 foramt
- jvm
- Today
- Total
목록Java (22)
느리더라도 꾸준히
이 글에서 쓰이는 컴포넌트와 인터페이스(API, OPEN API)는 사실 Java와 큰 관련은 없지만, 용어들을 정리한다는 느낌으로 작성했다. 컴포넌트 정의 소프트웨어 시스템에서 독립적인 기능을 수행하는 모듈이다. 실행 기능의 단위로 사용된다. 아래 글을 읽으며 독립적이란 말을 체감해보자. 탄생 배경 모듈들에는 여러 버전과 종류의 패키지들이 들어있기 때문에 서로 호환되지 않을 때가 있었다. 그러므로 수시로 모듈을 수정하여 재컴파일 해야하는 불편함이 존재했었다. 다시 말하자면, 객체 지향은 소스 코드 설계에 있어서 재 사용성을 가지고는 있으나, 실행되고 있는 소프트웨어 부분에서는 재 사용성이 부족해 개발 생산성을 떨어트릴 수 있었다. 그렇기 때문에 독립적인 단위 모듈의 Component 와 CBD(Comp..
패키지 자바의 패키지는 하나의 디렉토리로 비슷한 성격의 클래스들을 묶어둔 것을 말한다. 상위패키지.하위패키지.클래스 package app.MartService.customer; // "."로 이동할 수 있다. 그림예시 모듈 자바의 모듈은 외부에서 재사용할 수 있도록 패키지들을 묶은 것을 말한다. (패키지의 상위개념) 일반적으로 이클립스나 인텔리제이에서 개발하는 프로젝트는 모듈이라고 볼 수 있다. 서로 다른 프로젝트(모듈)끼리 import와 export를 이용하여 다른 모듈에 존재하는 패키지를 주고받을 수 있다. 그림 예시 탄생배경 자바 9 이전에는 모든 클래스들을 패키지를 통해서 관리 했다. 그러나 자바가 점점 더 다양한 곳에 사용되고 규모가 커짐에 따라 여러 문제가 발생했다. 1. 패키지의 캡슐화가 완..
1. 문제 상황 자주 사용되는 용어들이지만 명확한 의미를 알지 못하고 사용하니, 문서를 읽을때 문제가 발생하고 있다. 그래서 이번에 조금 정리를 해두려고 한다. 2. 문제 해결 선언(declaration)과 정의(definition) 선언은 컴파일러에게 어떤 대상의 이름을 알려주는 행위이다. 정의는 컴파일러에게 어떤 대상의 실제 내용을 알려주는 행위이다. public class ClassA { int a; // 변수 a를 선언 //abstract void func(); // 추상메서드로 메서드도 선언( 단 클래스가 추상클래스이여야한다.) void func2(){ // func2 정의 int b = 10; System.out.println(b); } ClassB classB; // 클래스 선언 public..
목표 객체 지향적이지 않은 코드를 객체 지향으로 바꾸면서 객체 지향의 4가지 특징을 이해한다. 최종적으로 객체 지향적인 코드를 만들어보고, 이를 미리 구현 해 놓은 Springframework를 이해해보자. (1) 상속 (2) 추상화 및 다형성을 통한 DI(Dependency Injection) (3) 캡슐화 (4) SRP(Single-Relationship Principle) (5) 싱글톤 패턴의 필요성 정리 Singleton을 사용하는 이유 최초 한번만 인스턴스를 생성하고 활용하므로 메모리와 속도 측면에서 이점이 있다. 다른 클래스간의 데이터 공유가 쉬워집니다. 단 여러 클래스에서 동시에 싱글톤 인스턴스에 접근하면 동시성 문제가 발생할 수 있다. Singleton의 문제점 구현하는데 작성 해야 할 코..
목표 (목표 수정) 객체 지향적이지 않은 코드를 객체 지향으로 바꾸면서 객체지향의 4가지 특징을 이해한다. 그리하여 최종적으로 객체 지향적인 코드를 만들어보고, 이를 미리 구현 해 놓은 Springframework를 이해해보자. (1) 상속 (2) 추상화 및 다형성를 통한 DI(Dependency Injection) (3) 캡슐화 (4) SRP(Single-Relationship Principle) 정리 SRP(단일 책임 원칙) 단일 책임 원칙은 "클래스는 단 한 개의 책임을 가져야 한다."를 의미하는 간단한 규칙입니다. 클래스가 여러 책임을 갖게 되면 그 클래스는 각 책임마다 변경되는 이유가 발생하기 때문에 클래스가 한 개의 이유로만 변경되려면 클래스는 한 개의 책임만을 가져야한다고 합니다. 이러한 이..
정리 생성자와 필드 선언 시점 과 순서를 이해하여, 문제를 해결했다. 초기화 시점 클래스변수의 초기화시점 : 클래스가 처음 로딩될 때 단 한번 초기화 된다. 인스턴스변수의 초기화시점 : 인스턴스가 생성될 때마다 각 인스턴스별로 초기화가 이루어진다. 초기화 순서 클래스변수의 초기화순서 : 기본값 -> 명시적초기화 -> 클래스 초기화 블럭 인스턴스변수의 초기화순서 : 기본값 -> 명시적초기화 -> 인스턴스 초기화 블럭 -> 생성자 1.문제상황 저장소 public class Repository { ArrayList al = new ArrayList(){{ add(1); add(2); add(3); add(4); add(5); }}; public int sumAll(ArrayList al) { int sum =..