전체 글 20

HTML 1. HTML의 기본 구조

1. HTML의 뼈대 내용 -->개발자용 메모(주석). 브라우저 화면에는 출력되지 않으며, 코드 설명이나 임시 기록을 남길 때 사용한다. ! + EnterVS Code 등에서 Emmet(에밋) 기능을 이용해 HTML 기본 문서 구조를 자동으로 생성하는 단축키. 브라우저에게 "이 문서는 HTML5 표준으로 작성되었다"라고 선언하는 역할.이 선언이 없으면 브라우저가 쿼크 모드(Quirks Mode)로 동작하여 오래된 브라우저 방식으로 페이지를 렌더링한다. CSS 박스 모델 계산 등이 달라져 예상하지 못한 레이아웃 오류가 발생할 수 있으므로 항상 문서 첫 줄에 작성한다. HTML 문서의 최상위 요소이며, lang 속성으로 문서의 기본 언어를 지정한다.ko는 한국어, en은 영어를 의미한다. 언어 설정은 스크린..

HTML/CSS/JS - 웹페이지 제작 과제 : 요트다이스

1. 과제 주제 선정요트다이스란, 간단히 말해 주사위 5개를 던져 그 결과를 족보에 등록하고, 12개 족보에 모두 등록이 끝나면 최종 점수를 겨루는 게임이다. 나는 이번 '나만의 웹사이트 만들고 배포하기' 과제의 주제로 이 요트 다이스 게임을 웹페이지로 구현해보기로 했다.단순히 내가 아주 좋아하는 게임 중 하나라는 이유에서도 있고, 여러 기능과 연산이 필요하면서 세부사항은 만들기 나름인 게임의 특성상 수업에서 배운 내용을 여러모로 활용해볼 수 있다고 판단했기 때문이기도 했다.주사위를 굴릴 때마다 '앞면'을 달리 표시할 때, 족보의 상태에 따라 텍스트의 상태를 달리할 때, 라운드나 턴 등을 표시할 때에 등 여러 파트에 DOM 조작과 그에 따른 시각적 효과 변화를 확인해볼 수 있을 테고, 플레이어의 이름을 ..

P&E Question 2026.07.08

17. 상속

​상속(Inheritance)보편적으로 상속이라고 하면, 부모가 자식에게 재산을 물려주는 행위를 상상하기 쉽다. 하지만 프로그래밍에서 상속이란 부모가 자식에게 기본 설계도(유전자)를 물려주어 자식이 이를 바탕으로 새로운 특성을 확장해 나가는 모습으로 생각하는 편이 좋다. 예를 들자면 기본형 스마트폰의 설계도를 물려받아 카메라 렌즈와 배터리 용량만 추가하여 프로 모델을 만드는 것과 비슷하다.자바에서 상속은 extends 키워드를 사용하며, 이미 잘 만들어진 클래스의 필드와 메서드를 재사용함으로써 코드의 중복을 줄이고 유지보수성을 극대화하는 객체지향의 핵심 메커니즘이라고 할 수 있다. 상속의 실행 순서자식 클래스의 객체를 생성할 때 JVM의 Heap 메모리 영역에서는 자식 객체가 단독으로 생성되지 않는다...

16. 객체배열

객체 배열(Object Array)같은 타입의 데이터를 여러 개 관리할 때에는 배열을 사용하며, 객체 역시 배열로 묶어서 관리할 수 있는데 이를 객체 배열(Object Array)이라고 부른다.객체 배열을 만들 때에는 배열을 생성하는 것과 객체를 생성하는 것이 메모리 상에서 완전히 분리된 별개의 과정이라는 것을 알아두면 좋다.이해를 돕기 위해 비유하자면, '책 3권을 꽂을 수 있는 빈 책장'을 샀다고 해서 그 안에 '진짜 책'이 자동으로 들어있지는 않고, 내가 직접 책을 넣어주어야 하는 일과 같다. 객체 배열 선언책 정보를 담는 Book 클래스가 있다고 가정하고, 3칸짜리 객체 배열을 선언해 보자. 아래의 코드처럼 선언하면 된다.// 클래스명[] 배열명 = new 클래스명[배열 길이]Book[] bAr..

카테고리 없음 2026.06.26

15. 클래스의 설정

​클래스의 설정 패키지작성된 코드들을 보면 가장 상단에 package abc.com.aaa.Student; 같은 선언이 붙어 있다. 프로그램의 규모가 커지면 수많은 클래스를 만들게 되는데, 이때 동일한 이름의 클래스가 존재하면 컴파일러가 어떤 클래스를 의미하는지 구분하기 어려워지므로 패키지가 필요하다.예를 들면, 아래의 두 Student클래스는 패키지로 구분된다.college.Studentschool.Student패키지는 충돌을 방지하기 위해 클래스를 물리적, 논리적으로 분리하는 디렉토리 역할을 한다. 보통 인터넷 도메인 이름을 역순으로 구성하여 유일성을 보장하며, 소문자로 작성하는 것이 관례다.java.util.Scanner sc = new java.util.Scanner(System.in);​이 법칙..

14. 클래스와 객체

클래스와 객체객체지향의 원론적이고 기초적인 이야기는 이전 두 포스트에 걸쳐 했으니, 그 개념들이 실제 Java 코드에서는 어떻게 구현될지, 코드를 차근차근 작성해 보자.가장 먼저, 프로그램에게 하나의 세트를 인식시키는 과정부터 시작한다. 클래스와 객체 생성학생의 정보를 저장하는 코드를 짠다고 가정해 보자. 가장 직관적인 방법은 변수를 각각 선언하는 것이다.String name = "김OO";int age = 25;String name2 = "최OO";int age2 = 21;하지만 이렇게 쓰면 김이름과 25살이 같은 사람에 대한 하나의 정보 세트라 하더라도, 프로그램은 그렇게 인식하지 않는다. 그저 메모리 어딘가에 흩어진 4개의 개별 변수일 뿐이다.이 데이터를 하나로 묶어 관리하고 싶으면 틀이 필요하고..

13. 객체 - 2

객체 2이전 포스트에 이어서, 타입은 결국 뭘까?타입이란 객체가 수신할 수 있는 메시지의 집합이다. '이 객체와 어떤 대화를 할 수 있는가? 어떤 기능을 요구할 수 있는가?'에 대한 정의라고 할 수 있다.예를 들어보자. 카페에 키오스크가 새로 들어왔다. 이 키오스크도 '주문을 받을 수 있고', '메뉴 목록을 띄울 수 있고', '카드 결제를 처리해 매출액을 증가시킬 수 있다.' 캐셔랑 할 수 있는 일이 아주 많이 겹친다. 다만 인간 캐셔만이 현금을 처리할 수 있고, 키오스크만이 메뉴판을 외국어로 출력할 수 있는 몇 가지의 차이가 있을 것이다. 이때 인간 캐셔 [계산원]과 로봇 캐셔 [키오스크]를 각각 객체로서 생성하면 둘은 완전 별개의 객체로 보인다. 그래도 둘은 같은 타입이 될 수 있다.둘은 캐셔라는 하..

Java 미니 프로젝트 제작 과제 : 시그니처 기반 탐지 백신 만들기

백신이란 바이러스, 스파이웨어, 랜섬웨어 등 악성 소프트웨어(Malware)를 감시 및 탐지하여, 사용자와 사용자의 데이터가 피해를 입지 않도록 돕는 보안 소프트웨어이다.현대의 백신은 시그니처 기반 탐지 기법, 휴리스틱 탐지 기법, 행위 기반 탐지 기법 등 다양한 기법을 동원하여 고차원의 보안 기능을 제공한다. 간단히 설명하면 각 기법의 원리는 아래와 같다.시그니처 기반 탐지 : 이전에 사용된 공격 패턴을 수집하여 저장해두고, 패턴에 맞는 입력이 들어왔을 때 이를 감지한다.휴리스틱 기반 탐지 : 악성 프로그램의 코드 구조나 특징을 추론하여 잠재적 위험도를 계산해 악성 여부를 판단한다.행위 기반 탐지 : 파일 암호화 시도, 시스템 레지스트리 무단 변경 등 악의적일 수 있는 프로세스의 행동을 감지한다.이중에..

P&E Question 2026.06.05

12. 객체 - 1

객체 (Object) - 1Java는 객체지향 언어다. 그런데 아주 원론적인 이야기로, 객체란 정확하게 무엇일까?일상에서 객체는 하나의 사물 혹은 물체 정도로 말할 수 있다. 국어에서는 서술어가 나타내는 행위의 대상으로 설명할 수 있다.그리고 프로그래밍에서 객체란, 상태와 행동을 가지며 독립적으로 식별 가능한 프로그래밍의 기본 단위라고 할 수 있다. 아래로는 보다 상세히 내가 이해한대로의 객체의 정의와 원리를 정리한 내용이다.내가 커피를 좋아하는 이유로, 아래로 드는 모든 예시는 카페로 한다. 객체의 3요소객체는 상태, 행동, 그리고 식별자로 구성된다. 이를 각각 데이터, 기능, 이름으로 생각해볼 수도 있다.자신의 데이터를 관리하는 상태, 자신이 할 수 있는 기능을 수행하는 행동, 다른 객체와 구별될 ..

11. 이차원 배열

이차원 배열 (2D Array)배열은 같은 자료형의 데이터들을 한줄로 정렬한 상자에 담아 보관하는 감각으로 이해해볼 수 있다. 하지만 세상의 모든 데이터가 그리 단순하지 않다.바둑판, 영화관의 좌석표, 학교의 학년-반별 성적표, 엑셀 시트 등에서처럼 가로와 세로가 동시에 존재하는 평면 구조의 데이터를 다뤄야 할 때가 많다. 이럴 때 사용하는 자바의 강력한 자료구조가 바로 이차원 배열이다. 이차원 배열이란, 같은 자료형의 1차원 배열 여러 개를 하나로 묶은 행과 열로 이루어진 형태 배열이라고 할 수 있다.선언하는 방법부터 알아보자. 이차원 배열의 선언과 값 할당하기1차원 배열이 대괄호 한 쌍( [ ] )을 사용했다면, 이차원 배열은 대괄호를 두 쌍( [ ] [ ] )을사용하여 선언한다. 첫 번째 대괄호에..