본문 바로가기

TIL

(92)
<자바 java> 상속 - 상속이란? 자바에는 '상속'의 개념이 있다. 말 그대로, 상속을 통해 클래스 간 자원(필드, 메서드 등)이 전달될 수 있는 속성이다. 프로그램에서는 상속이 이루어졌을 때, 상속해준 클래스를 부모 클래스 혹은 상위 클래스, 상속을 받은 클래스를 자식 클래스 혹은 하위 클래스로 지칭한다. - 상속의 이점 상속이 자바에서 핵심적이며 중요한 하나의 기능으로 자리잡은 데에는 상속이 갖는 이점들에 그 이유가 있다. 상속은 이미 잘 개발된 클래스를 다시 재사용하여 새로운 클래스를 만드는 것이다. 따라서 다음과 같은 이점들을 가진다. 1) 코드의 중복을 줄여준다. 2) 수정을 최소화시킬 수 있어 유지 보수 시간을 줄여준다. 다만, 상속에서 주의할 점은 모든 필드와 메서드를 상속받을 수 있는 것은 아니라는 것이다. ..
<CSS> 레이아웃 (1) - 박스 모델 - CSS 레이아웃 웹 문서의 구성은 기본적으로 박스를 기준으로 되어있다. 즉, 박스 모델이다. CSS 레이아웃은 이 박스 모델에 기초하고 있다. 박스 모델은 아래 두 가지의 요소에 따라 나열 방법이 달라진다. 1) 블록 레벨(block-level) 요소 블록 레벨 요소란, 박스들이 가로로 각각 한 줄씩을 차지하는 요소들을 말한다. 따라서 세로로 길게 한 줄로 늘어서게 되며, 각 줄의 요소 옆에는 다른 박스가 올 수 없다. *블록 레벨 태그 - , ~, , , , , , , , , 2) 인라인 레벨(inline-level) 요소 인라인 레벨 요소란, 블록 레벨 요소와 달리 한 줄에 여러 박스들이 위치할 수 있는 형태의 요소를 말한다. 보다 쉬운 이해를 위해 의인화를 해보자면, 블록 모델 요소들은 욕심이 ..
<CSS> 기초 개념 (CSS 고전짤..) - CSS란? 'Cascading Style Sheets'의 약자로, HTML과 함께 웹 표준 규격을 이룬다. 쉽게 말해 HTML이 웹 문서의 구조, 기본 텍스트, 골격 등을 나타낸다면 CSS는 HTML에 색상, 이미지 등의 스타일적인 요소를 부여하는 것이다. 웹 문서의 겉모습이라고도 할 수 있겠다. 하나의 문서 안에 여러 개의 스타일이 적용될 수 있는데, 이들을 묶어 놓은 것을 스타일 시트라고 한다. 스타일 시트는 두 가지 방법으로 사용할 수 있다. '내부 스타일 시트'와 '외부 스타일 시트'가 그것인데, '내부 스타일 시트'는 HTML 문서 안에 스타일 시트를 함께 작성한 것이며, '외부 스타일 시트'는 HTML과 스타일 시트 파일을 따로 분리하여 작성하고, HTML 안에 스타일..
<HTML> 기본 태그들 (2) - 이미지 관련 태그 1) : 이미지 삽입 태그 2) : alt는 이미지가 에러 현상으로 보이지 않는 경우나, 화면 낭독기가 이미지 대신 인식할 때 필요한 텍스트를 표현 3) : width는 이미지의 가로 크기, height는 이미지의 세로 크기 태그 4) 과 : 로 웹 문서에서 이미지와 텍스트 등을 한 단위로서 묶을 수 있고, 을 추가하면 이미지에 설명 글을 붙일 수 있음 *웹에서 사용 가능한 이미지 파일 형식 - GIF, JPG/JPEG, PNG, SVG *경로 설정법 - 현재 위치하고 있는 HTML 문서에서 이미지 파일이 있는 곳까지 찾아가기 위한 경로로 설정, '/'는 하위 폴더를 지칭, '..'는 한 단계 위의 폴더로 올라가는 것. 경로는 웹 상의 링크로도 가능 //경로 설정 //1. 이미지 파..
<HTML> 기본 태그들 (1) - HTML이란? HyperText Markup Language의 준말로, 웹 사이트를 만들 때 지켜야 하는 약속들을 정리한 것이다. 이 중 '하이퍼텍스트(HyperText)'란 웹 사이트에서 링크를 클릭하면 다른 문서나 사이트로 이동할 수 있는 기능을, '마크업'이란 태그(tag)를 사용해 문서에서 어떤 부분이 제목이고 본문이고 사진이며 링크인지 표시하는 것을 뜻한다. 정리하면, 웹에서 자유롭게 오갈 수 있는 웹 문서를 만드는 언어가 HTML인 것이다. *태그(tag) - 마크업할 때 사용하는 약속된 표기법, 꺽쇠괄호()로 묶인 부분 HTML은 우리가 현재 이용하고 있는 웹 사이트들에서도 확인이 가능하다. 1) 마우스 오른쪽 버튼 -> '검사' or '페이지 소스 보기' 2) 키보드 F12 -> 'El..
<자바 Java> 기본 API - StringTokenizer 클래스 - StringTokenizer 클래스 문자열이 특정한 기호(구분자)로 연결되어 있는 경우, 해당 기호를 기준으로 문자열을 분리하여 가져올 수 있도록 하는 기능을 가지고 있는 클래스다. 이와 비교되는 것이 String 클래스의 split() 메서드다. 코드로 보자. 1) String 클래스의 split() 메서드 String[] result = "문자열".split("구분기호"); public class StringSplitExample { public static void main(String[] args){ String text = "자바&스플릿,테스트,하기-성공"; String[] names = text.split("&|,|-"); // | 기호로 구분기호들을 구분해준다. for(String nam..
<자바 Java> 컬렉션 프레임워크(Collection Framework) (1) - List - List 컬렉션 List 컬렉션은 객체를 한 줄로 늘어놓은 것이다. 가장 큰 특징으로는, 객체를 인덱스로 관리한다는 것이다. 따라서 인덱스로 객체를 검색, 삭제할 수 있다. 또한 List 컬렉션은 객체 자체를 저장하는 것이 아니라, 참조 변수처럼 객체의 번지를 저장한다. List 컬렉션의 List 인터페이스는 기본적으로 제네릭 타입을 가지며, 구체적 타입은 객체를 생성할 때 결정한다. 기본적으로 사용되는 메서드는 객체 추가 시 add(), 가져올 때 get(), 삭제는 remove()이다. 1) ArrayList List 컬렉션의 List 인터페이스를 구현한 클래스이다. Array + List이기 때문에, Array의 특성을 합쳤다고 생각하면 이해하기 쉽다. 다만 기본적인 Array와의 차이점은 배열..
<자바스크립트> Ajax - Ajax(Asynchronous Javascript)란? Ajax란, 자바스크립트 기반 라이브러리인 제이쿼리(JQuery)를 바탕으로 한 기능이다. 제이쿼리는 자바스크립트에서 동적 기능을 보다 편리하게 개발할 수 있도록 돕는 역할을 하는데, 형태는 CSS선택자를 이용하여 다음과 같이 표현한다. //모든 태그 요소 선택 $("*") //적용하려는 id 선택 $("#id") //적용하려는 class 선택 $(".class") 따라서 Ajax도 위의 형태를 따른다. Ajax를 구체적으로 풀어 설명하자면, '비동기 자바스크립트 + XML'의 의미인데, 클라이언트와 서버 간에 데이터를 XML(혹은 JSON)으로 주고 받는 기술이다. - '비동기'의 의미 그럼 Ajax에서 비동기란? 비동기를 이해하려면 동기와 ..
<트러블슈팅> getPathInfo() = null 에러 모델2 MVC 패턴으로 서블릿과 JSP를 이용하여 회원가입 기능을 만드는 중이었다. 중심이 되는 컨트롤러에게 회원리스트 출력, 회원가입 폼으로 이동 등의 기능들을 구분할 수 있도록 URI를 이용해 따로따로 배정을 해주었는데... @WebServlet("/member/*") public class MemberController extends HttpServlet { ... protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nextPage = null; request.setCharacterEncoding("utf-8"); response..
<자바 Java> JSP 요소 - JSP의 등장배경 서블릿을 통해서도 웹 구현이 얼마든지 가능하지만, 점차적으로 화면 구성을 좀 더 사용자에게 편의하게 구성하는 것의 필요성이 높아지면서 코드가 복잡해지게 되었다. 이에 자바 코드 안에 HTML 코드를 작성하는 서블릿 코드의 방식으로는 코드의 복잡함이 해소되기가 어려운 것으로 판단되어 JSP가 등장하게 되었다. JSP는 서블릿이 자바 코드를 HTML로 일일이 개발자가 다시 작성하는 역할을 대폭 줄여주었고, 또한 사용자에게 보여질 화면 구성의 디자인을 담당하는 디자이너로서도 복잡한 개발 코드를 보는 것보다 직접 담당하는 HTML, CSS, JS의 코드를 직접적으로 보고 작성할 수 있는 JSP가 훨씬 편리하게 다가오게 되어 JSP는 웹을 구현하는 데 있어 큰 역할을 차지하게 된 것이다. -..