>

분류 전체보기 91

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

이클립스 자주 사용하는 단축키

📑 주석Ctrl + Shift + / : 블록을 주석으로 처리 (/* */)Ctrl + Shift + \ : 블록 주석을 해제Ctrl + / : 한줄 or 블록 주석 처리 / 해제 (//) 검색Ctrl + F : 키워드 검색 (해당 소스에서만)Ctrl + H : 키워드 검색 (프로젝트 전체에서)Ctrl + Shift + R : 전체 리소스에서 파일 찾기Ctrl + Shift + T : Jar 포함 클래스 찾기Ctrl + Alt + H : 특정 클래스 호출 위치 찾기Ctrl + K : 찾을 문자열을 블럭으로 지정하고 검색Ctrl + Shift + K : 밑에서 문자열 검색 위치 이동Ctrl + 특정 클래스 마우스 왼쪽 클릭(F3) : 특정 클래스로 이동Ctrl + O : 소스의 메소드 리스트 확인Ctrl..

TIL 2024.12.11

SQL GROUP_CONCAT

📑 GROUP_CONCAT  📄다른 컬럼의 내용을 합쳐서 보여주고 싶을 때 사용.예를 들어 아래와 같은 테이블이 있을 때, 타입별로 해당하는 데이터를 한 컬럼 안에 모아서 보여주고 싶다면 TYPENAMEAalmondAavocadoBbeeBbottleCcarrotCcocopalmDdrumDdate SELECT TYPE, GROUP_CONCAT(DISTINCT NAME) FROM WORD GROUP BY TYPE ;와 같이 작성한다.TYPENAMEAalmond, avocadoBbee, bottleCcarrot, cocopalmDdrum, date  다른 예시)# 판매금액이 높은 순으로 판매수익, 수량, 구매자를 조회SELECT GOODS_NM '품목', SUM(ORD_QY * SUPLY_PC) '판매수..

TIL 2024.12.10

SQL WITH문

📑 WITH문SubQuery를 여러 개 사용하는 경우 가독성이 떨어지고 재사용이 불가능하다는 단점이 있어 WITH문을 사용한다.WITH문은 이름을 가진 SubQuery를 정의한 후 사용하는 구문이다. 메인 쿼리 위에 WITH AS 구문을 사용해 서브쿼리를 옮겨 놓는 것이다.계층형 쿼리를 만들기 위해 반드시 필요하다.WITH [ 별명1 ] [ (컬럼명1 [,컬럼명2]) ] AS ( SUB QUERY)[, 별명2 AS ... ]...MAIN QUERY... - [ (컬럼명1 [,컬럼명2]) ] 은 생략할 수 있다.- 먼저 생성된 SubQuery를 나중에 생성하는 Subquery에서 별명으로 사용할 수 있다.

TIL 2024.12.09

SQL - SubQuery

📑 SubQuery1. SELECT 절에서의 사용select username, (select top 1 username from testTable)from testTable*하나의 값만 반환 가능. 둘 이상은 오류 발생.  2. FROM 절에서의 사용select a.*from ( select username from testTable where username like '%e%' ) as a  3. WHERE 절에서의 사용select a.*from ( select username from testTable where username like '%e%' ) as a*하나의 값만 반환 가능. 둘 이상은 오류 발생. 다중 값이 필요한 경우 IN을 이용  SQL CODE KATA Ⅰ. 구매횟수가 가장 적은..

TIL 2024.12.09

SQL INSERT, UPDATE, DELETE와 순위함수 NTILE, RANK

📑 INSERTINSERT INTO 테이블명 (컬럼명1, 컬럼명2 ...) VALUES (값1, 값2 ...) 한 번에 여러 개를 넣고 싶은 경우에는 다음과 같이 써주면 된다.INSERT INTO 테이블명 (컬럼명1, 컬럼명2 ...) VALUES (값1, 값2 ...), (값3, 값4 ...), ...  AUTO_INCREMENT 제약이 붙은 컬럼은 입력을 생략해도 알아서 채워진다.예를 들어 아래의 경우에 id를 생략해도 자동으로 그 다음 번호인 2, 3, 4 ...로 채워지게 된다.INSERT INTO product (id, 상품명, 가격) VALUES (1, "펜", 500)⇓INSERT INTO product (상품명, 가격) VALUES ("필통",5000)  AUTO_INCREMENT 제약이..

TIL 2024.12.06

SQL CASE WHEN 표현식, WHERE 1=1

📑 CASE 표현식SELECT * CASE WHEN '조건1' THEN '조건1에 만족할 때 출력할 데이터' WHEN '조건2' THEN '조건2에 만족할 때 출력할 데이터' ... ELSE '조건에 만족하지 않을 때 출력할 데이터' # default값 END [결과 칼럼명] # 따로 지정안하고 END만 적어도 됨.FROM 테이블   WHERE 1=1SELECT column_1, column_2, ... coulmnN FROM table WHERE 1=1 AND condition="something" ... WHERE A.ITEM_ID = B.ITEM_IDAND B.ITEM_ID = C.ITEM_ID 와 같이 두번째 조건문부터 AND가 있어야 오류가 발생하지 ..

TIL 2024.12.05