클래스에는 public 또는 default만 사용 가능객체의 속성과 메서드를 하나로 묶고, 외부에서 직접 접근하지 못하도록 차단일반적으로 멤버 변수는 private, 접근은 getter/setter 메서드 사용하나의 참조 변수로 여러 타입의 객체를 참조할 수 있음동일한
클래스처럼 보이지만 객체를 생성할 수 없다다중 구현 가능 → 단일 상속의 제약을 우회할 수 있다상속이 아니라 "구현"의 개념 → "이 인터페이스를 구현하겠다"는 약속인터페이스 안의 모든 구성 요소는 미완성(추상) 상태이다클래스는 인터페이스를 구현(implements)
기존 인터페이스는 모든 메서드를 반드시 오버라이딩해야 한다예: Filter 인터페이스에 메서드가 3개 있으면, 실제로 1개만 필요해도 3개 전부 구현해야 함 → 낭비디폴트 메서드는 선택적 오버라이딩이 가능 → 인터페이스에 유연성 부여default 키워드인터페이스 내에서
Java 컬렉션은 ArrayList, LinkedList, HashSet, LinkedHashSet 등 다양한 구조가 있으며, 각각 접근 속도, 중복 처리, 순서 유지 특징이 다르다.객체의 비교에는 equals()와 hashCode()가 필요하며, 특히 Hash 계열
자바 I/O는 모든 데이터 입출력을 스트림(Stream) 방식으로 처리스트림 = 데이터의 흐름종류:입력 스트림(Input Stream): 데이터를 읽는 쪽 (예: 키보드 입력)출력 스트림(Output Stream): 데이터를 쓰는 쪽 (예: 콘솔 출력)바이트 스트림:
버퍼는 한 번에 여러 바이트를 읽거나 쓸 수 있게 해주는 임시 저장 공간매번 1바이트씩 읽는 것보다 훨씬 빠르게 입출력을 처리할 수 있음BufferedReader, BufferedWriterBufferedInputStream, BufferedOutputStream객체를
창시자: 팀 버너스 리주요 기능 3가지URL: 웹 자원의 위치 지정HTTP: 웹 자원에 접근하는 프로토콜HTML: 자원들 사이를 연결하는 하이퍼텍스트 언어렌더링(Rendering): HTML 문서를 브라우저에 맞게 화면에 출력하는 과정싱글 사이드 태그: 닫는
CSS (Cascading Style Sheets) 는 HTML 문서의 디자인을 담당하는 언어📌 현재는 CSS3가 기준!!CSS는 HTML를 꾸밀 수 있다외부 파일로 분리하면 유지보수와 재사용성이 뛰어남!다양한 선택자를 통해 정밀하게 원하는 요소에 스타일을 지정할 수
HTML에서 요소를 묶거나 나누는 데 사용하는 범용 컨테이너구조 구분이나 CSS 적용 대상 그룹화에 자주 사용됨의미가 없는 구조적 태그 (비시멘틱)요소에 그림자 효과 추가텍스트에 그림자 효과 추가모서리를 둥글게 만듦크기, 회전, 이동 등 변형속성 변경에 애니메이션 효과
원래는 브라우저 전용 언어로 시작이후 크롬의 V8 엔진을 기반으로 한 Node.js가 등장하며 서버에서도 사용 가능 → 자바스크립트 독립!AJAX: 비동기 통신의 대표 기술, 자바스크립트를 활용해 페이지 새로고침 없이 데이터 교환jQuery: DOM 조작, AJAX 요
배열의 사이즈에 제한이 없다배열의 요소 타입이 다양해도 된다 (숫자, 문자열, 불리언, 객체 등 혼합 가능)배열을 쉽게 다룰 수 있도록 다양한 내장 메서드가 제공예: push(), pop(), map(), filter(), reduce() 등배열 요소 하나하나에 대해
단일 객체를 만들 때 사용 (일회성 객체에 적합)프로토타입 사용 불가싱글톤 객체처럼 사용할 수 있음→ 한 번만 정의되고 재사용되지 않는 객체접근 방법:\[]을 사용하는 경우:속성명이 문자열로 저장되어 있음변수로 접근하거나, 공백/숫자/특수문자가 포함될 경우 필요속성 삭
HTML 요소에 개발자가 원하는 정보를 담을 수 있는 속성data-속성이름="값"JS에서 element.dataset.속성이름 으로 꺼냄 (카멜표기)어떤 태그들은 기본적으로 이벤트 동작을 가지고 있다이벤트가 자식 → 부모로 올라가는 현상모든 행동에는 이벤트가 존재자식
HTML5에서 새롭게 도입된 2D 그래픽 도구로,픽셀 단위 조작을 통해 차트, 게임, 애니메이션 등을 만들 수 있다.브라우저에서 데이터를 로컬에 저장할 수 있는 API다.localStorage와 sessionStorage 두 가지 방식이 존재한다.
드래그 소스: 끌려가는 대상 (ex. 이미지)드롭 타겟: 끌려온 걸 놓는 위치 (ex. 장바구니 박스)💡 img 태그는 기본적으로 드래그 가능드래그 가능한 요소에 dragstart 이벤트를 설정한다.드롭 대상에 dragover 이벤트에서 e.preventDefault
AJAX (Asynchronous JavaScript And XML)→ 페이지 새로고침 없이 서버와 데이터 주고받기 위한 기술반드시 XML을 쓰는 건 아님 → 대부분 JSON 사용핵심은 비동기 요청✅ 중요: 데이터를 백그라운드에서 요청하고, 완료되면 JS로 처리브라우저
모든 상태를 직접 체크해야 해서 코드가 장황함완료 시점만 잡으면 돼서 간결하고 가독성 좋음쿼리 문자열: ?name=둘리&age=10특수문자/한글은 자동 인코딩됨 (예: %EB%91%98%EB%A6%AC)보안이 낮고 길이 제한이 있음 (브라우저마다 다름)form 태그에서
🧩 jQuery란?무료로 사용할 수 있는 JavaScript 라이브러리DOM 탐색, 이벤트 처리, Ajax 요청 등 복잡한 작업을 간단하게 처리🤔 프레임워크? 라이브러리?라이브러리는 필요한 기능을 가져다 쓰는 도구 (개발자가 주도적으로 개발)프레임워크는 전체 구조를
JSON을 주고받기 쉽게 만든 축약 메서드JSON 응답을 자동으로 파싱해서 객체로 넘겨줌특정 URL의 특정 요소만 가져오기 가능
정형 데이터 (Structured Data)행과 열로 구성된 테이블 형태의 데이터예: 엑셀, 관계형 DB 테이블 (MySQL, Oracle 등)비정형 데이터 (Unstructured Data)구조화되지 않은 데이터 (형태가 일정하지 않음)예: 이미지, 동영상, 이메일,
그룹별로 묶기특정 컬럼의 값이 같은 것끼리 그룹으로 묶고, 집계 함수를 적용할 때 사용.SELECT에는 그룹핑한 컬럼과 집계 함수만 올 수 있다그룹이 여러 개일 수 있다 → 예: job, deptno로 그룹여러 행의 데이터를 하나의 값으로 요약하는 함수.집계 함수는 일
쿼리 안에 포함된 또 다른 쿼리를 말합니다.\*주쿼리(Main Query)\*\*가 실행되기 전에 먼저 수행됨소괄호 ( ) 로 감싸 사용주로 WHERE, FROM, SELECT, HAVING 절 안에 사용됨!!단순 비교(=, <, > 등)는 오류 발생👉 해결:
CREATE: 테이블/뷰 등 생성DROP: 삭제ALTER: 구조 수정⚠️ DDL은 자동으로 COMMIT 됨. 트랜잭션 제어 불가.INSERT INTO 테이블 (컬럼명...) VALUES (값...);DELETE FROM 테이블 WHERE 조건;UPDATE 테이블 SET
자바에서 클래스 안에 또 클래스를 정의할 수 있고 이것이 중첩 클래스(Nested Class)이다.인스턴스 클래스: static이 없는 클래스. 바깥 클래스의 인스턴스에 접근 가능스태틱 클래스 (정적 클래스): static이 붙은 클래스. 바깥 클래스의 인스턴스 없이
메인 스레드가 종료되면 함께 종료되는 백그라운드 스레드예: 가비지 컬렉터, 자동 저장 기능 등멀티스레드에서 공유 자원에 접근할 때 충돌 방지용버퍼나 리스트 등 공용 데이터를 여러 스레드가 동시에 수정 → 충돌 발생 가능 synchronizedList: 쓰기엔 안전하
VSCode에서 작성한 프로젝트를 GitHub에 push → Eclipse에서 pull 후 importEclipse에서 Dynamic Web Module 적용 시 WebContent/ 폴더가 새로 생김하지만 Git에서 받아온 HTML/CSS/JS 파일들은 루트에만 있음
JSP에서 자주 사용하는 기능을 태그 형태로 제공하는 표준 라이브러리스크립틀릿(<% %>)을 줄이고, HTML과 로직을 분리하여 코드 가독성을 높임SQL, 반복문, 조건문, 국제화 등 다양한 기능 포함표준화 : JSP에서 반복적으로 쓰이던 코드를 태그로 통일재사용
이미 만들어 둔 프로젝트에 eGov를 적용해보기로 했다. 하지만 어떻게 적용해야하지?기존 프로젝트는 Eclipse Dynamic Web Project, 정적 HTML/CSS/JS만 존재eGovFramework를 추가로 적용해야하나 방법을 알 수 없을 뿐더러 버전이 다르