전체 글

상속 1. 상속의 정의 상속은 말그대로 자식이 부모로부터 무언가를 물려받는 것을 의미합니다. 자바에서의 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것입니다. 상속을 활용하면 코드의 재사용성을 높이고 중복을 제거하여 생산성 향상과 보다 용이한 유지보수가 가능해집니다. 클래스의 상속을 위해서는 클래스 선언부에 extends 키워드를 사용합니다.자식클래스 extends 부모클래스 다음 예제 코드를 통해 상속에 대해 자세하게 알아보겠습니다. public class JavaApp { class ParentClass { String parent = "I'm parent."; public void parentMethod() { System.out.println("Parent Class - paren..
생성자 1. 생성자 생성자는 메서드처럼 클래스내에서 호출되는 인스턴스 초기화 메서드입니다. 다음과 같은 특징이 있습니다. - 생성자명은 클래스명과 동일하다.- 리턴값과 선언부의 리턴타입이 없다.- 오버로딩이 가능하여 한 클래스에 여러 개의 생성자를 만들 수 있다. 다음 코드를 통해 생성자를 확인해보겠습니다. class Card { Card() { // 매개변수가 없는 생성자 } Card(String k, int num) { // 매개변수가 있는 생성자 } } 또한 위의 Card 클래스의 인스턴스를 생성하는 코드를 통해 수행 과정을 나눠보면 다음과 같습니다. Card card = new Card(); 1. new 연산자에 의해서 Card 클래스의 인스턴스가 힙(heap) 영역에 생성된다.2. Card() ..
자바(JAVA) 메서드 오버로딩과 오버라이딩 1. 메서드 오버로딩 (method overloading) 한 클래스내에 같은 이름의 메서드를 여러 개 정의하는 것을 메서드 오버로딩이라고 합니다.오버로딩이 성립하기 위해서는 다음과 같은 조건을 만족해야 합니다. - 메서드명이 같아야 한다.- 매개변수의 개수 또는 타입이 달라야 한다.- 리턴타입만 다른 경우는 성립되지 않는다. 다음 예제를 통해 오버로딩에 대해 확인해 보겠습니다.class Math { int add(int a, int b) { return a + b; } long add(int a, long b) { return a + b; } long add(long a, long b, long c) { return a + b + c; } int add(in..
자바(JAVA) 변수와 메서드 1. 변수 변수에는 클래스변수, 인스턴스변수, 지역변수 세 종류가 있습니다. 변수가 선언된 위치에 따라 변수의 종류가 결정되므로 어느 영역에 선언되었는지 확인하여 사용하는 것이 중요합니다. 다음 예제와 함께 변수의 종류와 특징에 대해 알아보겠습니다.public class Variables { int instanceVariable; // 인스턴스 변수 static int classVariable; // 클래스 변수 void method() { int localVariable; // 지역변수 } }변수의 종류선언위치생성시기클래스 변수(class variable)클래스 영역클래스가 메모리에 올라갈 때인스턴스 변수(instance variable)인스턴스가 생성되었을 때지역 변수(..
자바(JAVA) 객체지향언어 및 클래스와 객체 자바(JAVA)는 객체지향(Object Oriented) 프로그래밍 언어입니다. 객체지향 프로그래밍의 근간이되는 객체지향이론은 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물(객체)간의 상호작용이라는 기본 개념을 가지고 있습니다. 이번 포스팅에서는 자바의 클래스, 객체, 변수, 메서드, 오버로딩, 오버라이딩, 생성자에 대해서 알아보겠습니다. 1. 객체지향언어 객체지향언어는 기존의 프로그래밍 언어에 몇가지 새로운 규칙을 추가하여 보다 발전된 형태의 언어입니다. 이러한 규칙들을 이용해서 코드간에 서로 관계를 맺어주어 보다 유기적으로 프로그램을 구성하는 것이 가능합니다. 객체지향언어의 주요 특징은 다음과 같습니다. - 코드의 재사용성이 높..
· Apache/Nutch
아파치 너치(Apache Nutch) Architecture & Crawling 구조 아파치 너치(Apache Nutch)의 Architecture와 Crawling 구조에 대해 알아보겠습니다. (실습에 사용할 Nutch2.x 버전을 기준으로 알아보았습니다.) Apache Nutch Architecture * 데이터 구조 (Data Structure) Apache Nutch는 다음의 데이터 구조를 가지고 동작합니다. · CrawlBaseUrl : CrawlState 필드에 사용CrawlState : 현재 상태를 나타내는 필드CrawlDatum : 메타 데이터를 저장CrawlHistory : 역순으로 정렬된 CrawlDatum 개체 목록 · CrawlListUrl : CrawlHistory 필드에 사용(C..
· Apache/Nutch
아파치 너치(Apache Nutch) 소개 아파치 너치(Apache Nutch)의 사용에 앞서 특징과 역사에 대해 알아보도록 하겠습니다. Apache Nutch Apache Nutch는 웹 사이트 크롤링(crawling)을 위한 오픈 소스 웹 크롤러 소프트웨어 프로젝트이며 아파치 루씬 (Apache Lucene)을 근간으로 만들어졌고 다양화되어 발전해왔습니다. Nutch는 검색시 애플리케이션 페이지의 rank를 높이고 필요에 따라 커스터마이징할 수 있는 자체 검색 엔진을 제공하며 뛰어난 확장성(extensible and scalable)을 제공합니다. 이를 활용하면 구글과 같은 검색 엔진을 만들 수 있습니다. Nutch는 확장성을 통해 플러깅이 가능(pluggable)하고 모듈화 된 것이 장점이기 때문에..
스프링 프레임워크(Spring Framework) 소개 스프링 프레임워크(Spring Framework) 사용에 앞서 특징에 대해 알아보도록 하겠습니다.스프링(Spring) 스프링은 자바 엔터프라이즈 애플리케이션 개발에 사용되는 프레임워크입니다. 애플리케이션 프레임워크는 애플리케이션의 개발을 빠르고 효율적으로 할 수 있도록 애플리케이션의 바탕이 되는 틀과 공통 프로그래밍 모델, 기술 API등을 제공합니다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있으며, 한국에서는 공공기관의 웹 서비스 개발시 사용을 권장하는 전자정부 표준프레임워크의 기반 기술로서 사용되고 있습니다. 스프링의 역사 스프링은 로드 존슨(Rod Johnson)이 2002년에 출판한 자신의 저서인 Expert One-on..
자바(JAVA) 제어문 자료형을 근간으로 하여 그 자료형들의 흐름을 원활하고 효율적으로 만들어 주는 것이 제어문입니다.if, switch, for, while 등의 자바의 제어문에 대해서 알아보겠습니다. 1. 조건문 조건문은 조건식과 문장을 포함하는 블럭{}으로 구성되어 있으며, 조건식의 연산결과에 따라서 실행되는 문장이 달라집니다. 1.1 if문 if문의 구조는 다음과 같습니다. if (조건식) {// 조건식의 연산결과가 true일 때 수행될 문장} if문의 조건식에는 결과값이 true / false 인 수식만 사용이 가능합니다. if문에 else문을 추가한 if-else문의 구조는 다음과 같습니다. if (조건식) {// 조건식의 연산결과가 true일 때 수행될 문장} else {// 조건식의 연산결..
freestrokes
FREESTROKES DEVLOG