Category Archives: Lectures

UML – Association

연관 관계(Association)은 단순히 관계가 있다는 말이다. 그리고, 관계에는 단방향과 양방향이 있다. 그리고, 관계는 여러 개와 관계를 가질 수 있고, 이것은 집합적인 개념으로 Aggregation과 Composition으로 나눌 수 있다. 아래에서는 단방향과 양방향에 대해서 살펴보자.

1. 단방향

1.1 클래스 다이어그램

1.1 코드


public class C {
  /** */
  public D Unnamed1;


public class D {

2. 양방향

2.1 클래스 다이어그램

2.2 코드


public class A {
  /** */
  public B Unnamed1;


public class B {
  /** */
  public A Unnamed1;

delegation in java

delegation(위임)에 대한 정의는 아래와 같다.

 Delegation means that you use an object of another class as an instance variable, and forward messages to the instance.

아래 예제는 위키의 Delegation Pattern 페이지에 나와있는 Java 예제입니다.

 class RealPrinter { // the “delegate”
     void print() {

class Printer { // the “delegator”
     RealPrinter p = new RealPrinter(); // create the delegate
     void print() {
       p.print(); // delegation

public class Main {
     // to the outside world it looks like Printer actually prints.
     public static void main(String[] args) {
         Printer printer = new Printer();

누군가 말씀하신, 이벤트 소스/이벤트 핸들러/이벤트 리스너 어쩌주 저쩌구 거창한 얘기가 필요없다.. 
쉽게쉽게 가장.. ^^


Platform vs. Framework

플랫폼과 프레임웍에 대한 비교내용입니다.
wikipedia보다 더 잘 정의가 되어 있는 내용이 있어서 올려봅니다.
아래 내용을 읽어보니, 느낌이 확 오네요.. ^^
출처 정보는 아래와 같습니다. 흠. 복사할때 아래의 정보를 넣어주네요.. 네이버 참 좋다..^^



1) In computers, a platform
is an underlying computer system on which application programs can run.
On personal computers, Windows 2000 and the Mac OS X are examples of two
different platforms. On
enterprise servers or mainframes, IBM’s S/390 is an
example of a platform.

A platform consists of an operating system, the computer
system’s coordinating program, which in turn is built on the instruction
set for a
processor or microprocessor, the hardware that
performs logic operations and manages data movement in the computer. The
operating system must be designed to work with the particular
processor’s set of instructions. As an example, Microsoft’s Windows 2000
is built to work with a series of microprocessors from the Intel
Corporation that share the same or similar sets of instructions. There
are usually other implied parts in any computer platform such as a
motherboard and a data bus, but these parts have increasingly become
modularized and standardized.

most application programs have had to be written to run on a particular
platform. Each platform provided a different application program
interface for different system services. Thus, a PC program would have
to be written to run on the Windows 2000 platform and then again to run
on the Mac
OS X platform. Although these
platform differences continue to exist and there will probably always be
proprietary differences between them, new
open or standards-conforming
interfaces now allow many programs to run on different platforms or to
interoperate with different platforms through mediating or “broker”

2) A platform is
any base of technologies on which other technologies or processes are



In general, a framework is a real or conceptual structure
intended to serve as a support or guide for the building of something
that expands the structure into something useful.

In computer systems, a
framework is often a layered structure indicating what kind of programs
can or should be built and how they would interrelate. Some computer
system frameworks also include actual programs, specify programming
interfaces, or offer programming tools for using the frameworks. A
framework may be for a set of functions within a system and how they
interrelate; the layers of an operating system; the layers of an
application subsystem; how communication should be standardized at some
level of a network; and so forth. A framework is generally more
comprehensive than a
protocol and more prescriptive than a