일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AWS
- 도커
- 분할정복
- 자바
- SQL
- 분할 정복
- TCP
- GIT
- 알고리즘
- github action
- 순열
- 그리드
- 재귀
- 그리드 알고리즘
- 백준
- 스프링
- 이분탐색
- 다이나믹프로그래밍
- dfs
- 역방향 반복자
- 다이나믹 프로그래밍
- 트리
- CI/CD
- 컴퓨터 네트워크
- BFS
- HTTP
- 자료구조
- Spring
- 그래프
- 브루트포스
- Today
- Total
목록백 엔드/java (8)
코딩성장스토리
SOLID를 사용하는 이유: 응집도를 높이고 결합도를 낮추기 위한 객체지향의 관점에서 재정립 SRP - 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나 뿐이어야 한다. 즉, 책임(역할)을 분리해야하는 것이다. ex) 강아지가 수컷암컷이 있으면 강이지 클래스에 성별을 넣기 보다는 강아지를 상속받는 수컷,암컷 클래스를 만들어 강아지에게 성별 역할까지 주지 않는 것이다. OCP - 개방 폐쇄 원칙 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀 있어야한다. ex) 운전자가 쏘나타라는 차를 가지고 있다. 그러다가 마티즈로 변경을 했는데 차 변경이 운전자에게 영향을 미치게 된다.즉 이럴 때 자동차라는 클래스를 만들어 쏘나타랑 마티즈를 상속받게 한다. 그러면 자동차 입장에서는 확장이 열려있고..
abstract 키워드 - 추상 메서드와 추상 클래스 선언부는 있는데 구현부가 없음 (추상 메서드 하나라도 가지고 있으면 추상클래스로 선언) 추상 클래스는 인스턴스를 만들수 없다. 하위 클래스에게 메서드의 구현을 강제 하다. 상속시에 유용하게 쓰임' ex) 동물이 운다 --> 새가 운다. 라는 문자이 있을 때 동물이 운다라는 표현이 이상하므로 추상으로 구현부 없애고 오버 라이딩 기본 생성자 객체 생성시 자바가 자동으로 만들어줌 인자가 있는 생성자 하나라도 만들면 자바는 기본생성자 안만듬 static 블록 클래스 내부 해당 패키지 또는 클래스가 처음으로 사용할때 로딩이 됨.(시작할 떄 모든 클래스가 스태틱에 로딩이 된다고 되었지만 사실은 메모리를 최대한 늦게 사용하기 위해서 객체 생성시 로딩) static..
자바의 기본적 이해 자바를 이해하기 위해일단 언어의 유래를 살펴보자 어셈블리어: 기계어와 1대1 대응, 기종별로 어셈블러 필요(이식 x) (운영체제나 컴퓨터가 다르면 사용못함) c언어: 기계어와 m:n 대응 , 기종별로 컴파일러 필요(이식성 좋아짐) 즉 컴파일을 기종마다 다르게 하고 줘야함 자바: 기계어와 m:n 대응 , 단 하나의 컴파일러 필요 (기종별로 JRE 세팅 필요(한번)) 컴파일한걸 기종한테 그냥 주면 끝 JDK: 자바 개발 도구 JRE: 자바 실행 환경JVM : 자바 가상 기계 메모리 사용방식 프로그램이 메모리 사용하는 방식은 크게 코드실행영역(opcode) 와 데이터 저장 영약(메모리) 가 있다. 그리고 메모리 영역에는 또 세가지가 있는데 스태틱,스택,힙 영역이 있다. 자바가 실행하게 되면..
length와 length()의 차이점 length는 배열의 길이를 알 때 사용 하는 점이고 length()는 문자열의 길이를 알 때 사용 하는 것이다. 예외처리 하는 법 객체 지향 공부를 하면서 예외처리를 할 때 많은 예외들을 정리해야 할 떄가 있다. 그럴 때 함수 속에 함수를 넣는 식으로 계속 예외처리를 만드는 게 효율 적임을 느꼈다. 밑에 예시가 그렇다 public void inputanswer(String userinput){ String[] tryanswer=checkinputint(userinput).split(""); DataTuils.setUsernum(tryanswer); } //넣은 값이 숫자인지 확인 private String checkinputint(String userinput) ..