기본적으로 인터페이스는 함수 내용이 없는 추상 메서드만 선언할 수 있습니다. 인터페이스는 오직 설계만을 위한 구조로 봅니다. 그래서 클래스가 부르지 않습니다. 인터페이스(interface) 어떤 기능을 제공하는지에 대한 명세서, 기본설계도라고 보면 됩니다. 상속받는 클래스는 인터페이스의 모든 기능을 사용하여야 합니다. 인터페이스의 기능은 여러 클래스에서 받아와 커스텀하여 다형성을 이용할 수 있습니다. 다형성: 하나의 객체가 다양한 형상이나 기능을 가짐 기본적으로 내용물들에 abstract, static 키워드가 있어야 하지만 컴파일 시 자동으로 변환해주는 걸로 알고 있습니다. 인터페이스는 추상 정도가 추상 클래스보다 높습니다. 다중 상속 가능 추상 메서드만 선언 가능(java8로 넘어오면서 default..
해당 내용은 확실하지 않습니다. 🥷 JDK : 개발 키트 + JRE JRE : 자바로 작성된 프로그램이 실행되기 위한 환경 + 라이브러리 이클립스에서 작성하던 메모장으로 작성하던 JAVA 확장자를 가진 파일을 컴파일 하기 위해선 JDK가 설치돼있어야 합니다. 터미널에 javac -verison을 입력하면 JDK버전이 나옵니다. 정상적으로 출력되지 않을 경우 class파일로 컴파일되지 않습니다. javac [파일명] 이미 존재하는 class파일을 실행하고 싶은데 JRE이 없으면 실행되지 않습니다. java [파일명] JDK파일을 삭제한 후 터미널에서 버전 확인 후 삭제된 것을 보고 이클립스(IDE) 내에서 빌드를 하면 실행됩니다. 왜냐하면 IDE설치 시 jvm이 같이 설치를 시켜줍니다. 자바 프로젝트의 우..
🥷 MAVEN project management and comprehension tool 프로젝트 빌드, 문서관리 등을 합니다. .. 프로젝트 패키징 형식을 바꿔준다거나 프로젝트 구조를 자바, 웹 형식 변경이 되며 컴파일 테스트, 배포 등을 모듈화 하여 자동화시켜서 개발에만 집중할 수 있게 할 수 있습니다. 의존성 관련하여 원래라면 원하는 라이브러리 사이트에 가서 다운로드하면서 버전 확인도 해야 하지만 간편하게 의존성끼리의 버전 확인만 하면 라이브러리들이 추가됩니다. 이마저도 boot를 쓰면 버전도 다 세팅해줍니다. 터미널을 사용해서 이용할 수도 있지만 ide를 이용하여 사용할수도 있습니다. 인텔리 제이나 이클립스를 이용하면 툴에서도 지원을 하여서 쉽게 사용할수있습니다. phase, goal, lifeC..
기존 스프링 기반 프로젝트를 만들면 가이드라인대로 프로젝트생성 후 서버런만 하여서 아파치가 뭔지 톰캣의 개념이 부족했습니다. 그래서 아파치와 톰캣에 대해서 짧게 공부해볼 생각입니다. apache HTTP Web Server, staticPage, HTTP요청을 받아 정적인 컨텐츠 제공 tomcat webContainer(ServletContainer) WebContainer ServletContainer, 동적인 데이터 처리 webServer 필요이유 정적인처리만 분배하여 서버의 부담 줄이기 webContainer 필요이유 동적인 컨텐츠제공을 해야하므로 순서 client(요청) -> webServer(정적컨텐츠제공) -> servletContainer(동적데이터제공) apache(webserver) 간단..
자바에는 여러 로깅 프레임워크가 존재합니다. SLF4 J : java진영 로깅 api들의 추상체 파사트 패턴 및 추상화를 통해 기능 제공 logback, log4 j... : 구현체 log4j는 이미 개발이 중단되었으며 사람들은 logback, log4j2를 사용 권장을 합니다.. 구글에서 검색을 하면 logback이 약 100만 개 log4j2가 50만 개 결과가 나옵니다. 정보량을 생각해서 logback을 선택하겠습니다. 사용을 위해서는 sfl4 j logback-core logback-classic 3개의 라이브러리가 필요합니다. Logger logger = LoggerFactory.getLogger(temp2.Main.class); import org.slf4j.Logger; import org...
쿼리는 거의 신경을 안 써서 프로젝트를 진행하는데 쿼리 쪽에서 시간을 엄청 많이 잡아먹었다. 일단 저 문구는 group by 절에서 다루지 않은 값을 select으로 뽑으려고 하면 나온다 mysql 버전 5.7전에는 group by절에 올리지 않아도 select에 잘 나왔다고 한다. a테이블과 b테이블이 연관 테이블이고 a테이블의 pk기준으로 b테이블의 값들을 뽑으려고 했다. a테이블의 1개 데이터의 pk를 참조하는 값이 b테이블에 4 개행이 있으면 이중 제일 최근 값 하나만 가지고 오려고 했으나 쉽지 않았다. 서브 쿼리 안에 넣으니 메인 쿼리에서는 서브 쿼리에서 참조할 수 없다. 그래서 외부 group by에 서브 쿼리 칼럼들을 올리니 예상과 다른 답이 나왔다. set @@GLOBAL.sql_mode=..
head와 tail에 -1이 계속 유지됩니다. 끝마디를 제외하고 인덱스가 0이 아닌 1부터 시작합니다. class MyLinkedList { Node head; Node tail; int count; public MyLinkedList() { head = new Node(-1); tail = new Node(-1); head.next = tail; tail.prev = head; count = 0; } public int get(int index) { Node temp = head; if(count >= index) { for(int k = 0; k < index; k ++){ if(temp != null) temp = temp.next; else return -1; } } return temp.val;..
- Total
- Today
- Yesterday
- 백엔드
- JPA
- jre
- java8
- springboot
- ㅃ
- jre11
- boot
- 다대일
- 백준 제로 자바
- 백준
- 코딩테스트
- boot 일대다
- JDK
- jvm
- jdk11
- 스타트업
- 자사서비스
- 백준 제로
- 개발자채용
- JDK8
- 스택
- 알고리즘
- mappedby
- 프로그래머
- 자바
- 문제
- Spring
- jre8
- 관계설정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |