※ Abstract class(추상 클래스)란?

  • 한 개 이상의 '추상 메서드'를 포함하는 클래스이다.
  • 예를 들면 '빈 칸 있는 시험지'와 비슷하다. (반드시 추상 메서드의 내용을 채워넣어야 한다.)

※ Abstract class의 특징
  • 객체를 만들 수 없다.
  • '추상 메서드' 구현을 위해 서브 클래스가 필요하다.

※ Interface(인터페이스)란?

  • '상수'와 '추상 메서드'의 집합이다.
  • 예를 들면 '빈 껍데기'와 비슷하다. (속 전체를 채워 넣어야한다.)

※ Interface의 특징
  • 변수를 가질 수 없다. (멤버변수는 상수이다.)
  • 모든 메서드는 public이어야 한다.
  • 모든 메서드는 '추상 메서드'이다. (메서드의 내용이 들어갈 수 없다.)

※ Abstract class와 Interface의 차이

 Abstract class

 Interface

 '추상 메서드'가 아닌 메서드도 포함할 수 있다.

 '추상 메서드'만을 포함한다.

 '변수'를 가질 수 있다.

 오직 '상수'만을 포함한다.

 extends 사용.

 Implements 사용.

 단일 상속만 가능.

 다중 상속 가능.



▶ 관련 사이트 바로가기

  1. beginnersbook(http://beginnersbook.com/2013/05/abstract-class-vs-interface-in-java/)







'Programming Note > etc' 카테고리의 다른 글

Singleton Pattern이란?  (0) 2017.05.05
[etc] OSI 모형(OSI 7 Layer)  (0) 2017.04.18
[etc]Thread(Critical Section, Mutex, Semaphore)  (0) 2017.03.12
Process와 Thread  (0) 2017.03.12
FDS (Fraud Detection System) 란?  (1) 2017.01.13


※ JavaScript란?

  • 웹 브라우저에 내장되어 있는 객체 기반의 스크립트(script) 언어이다.
  • 동적이면서 약한 타입(dynamic and weak typing) 언어이다.

※ JavaScript의 특징?
  • 인터인터프리터(interpreter) 방식 클라이언트의 웹 브라우저에 의해 해석되고 실행된다.
  • 스크립트(script) 언어 : HTML에 연산제어 등 프로그래밍적인 요소를 추가하고클라이언트의 자원을 활용할 수 있게 한다.

  • HTML 문서 내에 기술되고 HTML 문서와 함께 수행된다.


※ JavaScript의 중요성
  • HTML5의 중심에 놓여 웹 표준으로써 위상을 가지고 있다.

  • Node.js를 통해 서버 측의 대규모 네트워크 애플리케이션을 만들 수 있음은 인정받았다.

  • 모바일 시장에서 플랫폼의 다양성에 대한 네이티브앱의 문제점을 해결하기 위해 웹앱하이브리드앱을 대안으로 쓰고 있다.



※ Critical Section (임계영역)

  • 둘 이상의 Thread가 동시에 접근해서는 안되는 공유 자원(자료 구조 또는 장치)을 접근하는 코드의 일부를 말한다.

※ Mutex (상호배제)

  • 공유 불가능한 자원의 동시 사용을 피하기 위해 사용되는 알고리즘으로, Critical Section 코드 영역에 의해 구현된다.
  • 예를 들면 화장실 열쇠를 관리자가 가지고 있고 열쇠를 가진 사람만 화장실을 이용할 수 있도록 빌려주고 반납하는 것을 들 수 있다.

※ Semaphore (세마포어)

  • 멀티프로그래밍 환경에서 공유자원에 대한 접근 제어를 하는 방식으로 1개의 공유되는 자원에 제한된 개수의 프로세스, 또는 스레드만 접근할 수 있도록 한다.
  • 예를 들면 칸막이 화장실 칸이 3개 있다고 가정하자. 3개의 칸이 찰 때까지 접근이 가능하지만 3개가 차는 순간 접근할 수 가 없다. 접근하기 위해서는 반드시 비어있는 칸이 있어야한다.



'Programming Note > etc' 카테고리의 다른 글

Singleton Pattern이란?  (0) 2017.05.05
[etc] OSI 모형(OSI 7 Layer)  (0) 2017.04.18
Abstract class 와 Interface (extends, implements)  (0) 2017.03.17
Process와 Thread  (0) 2017.03.12
FDS (Fraud Detection System) 란?  (1) 2017.01.13


※ Process란?

  • 실행중인 프로그램에 대한 인스턴스이다.
  • 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다.

※ Thread란?

  • 한 프로세스 내에서 동작되는 여러 실행의 흐름이다.
  • 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다.

※ Process와 Thread의 차이

 Process

Thread 

 독립적이다.

 Process의 subset으로 존재한다.

 별도의 주소 공간을 가진다.

 주소 공간을 공유한다. 

 프로세스 간 통신(IPC)은 어렵고 자원을 많이 사용한다.

 쉬운 공유와 통신이 가능하다.

 

 상호의존적이므로 주의해야한다.



▶ 관련 사이트 바로가기

  1. BrocessJK님의 블로그 (http://m.blog.naver.com/kim3zz/220721606892)
  2. Wikipedia (https://en.wikipedia.org/wiki/Thread_(computing))




※ FDS (Fraud Detection System) 란?

  • 전자금융거래에 사용되는 PC, 모바일 등의 정보, 거래 내용, 사용자 유형 등을 분석하여 이상금융거래를 발견하고 차단하는 시스템.
  • 거래패턴 데이터를 통해 부정결제, 무단 계좌 이체 등 이상징후를 파악하고 차단하는 시스템.




※ FDS 적용 사례

  • 서울에서 결제 후 한 시간 뒤에 베트남에서 결제 요청이 왔을 경우.
  • 텔레뱅킹을 주로 사용하는 사용자가 인터넷 뱅킹을 사용했을 경우.
  • 주부인 사용자가 룸살롱에서 결제 요청을 할 경우.

※ FDS의 4가지 기본 요소
  • 모니터링 및 감사
    • 수집, 분석, 대응 단계의 상호 밀접한 관계 유지를 위한 감사.
    • 효육적인 동작을 위한 보완 역할.
  • 정보 수집
    • 이용자의 정보 및 행위에 대한 정보 수집.
  • 분석 및 탐지
    • 수집된 정보를 통해 이상행위에 대한 분석 수행.
  • 대응
    • 정상 판별 및 이상거래에 대한 대응.

※ FDS 요소 기술
  • 대량 데이터에 대한 실시간 처리 기술과 과거 대용량 데이터에 대한 분석 기술




※ 일반적인 FDS 대응 처리 절차
  • 거래 판단 -> 일시정지 -> 추가 인증 -> 거래 승인 여부 -> 거래 정보 재확인 -> 거래 승인 or 거래 차단

※ FDS 도입 시 사전 고려사항
  1. 적용 대상의 선정
    1. 적용 대상의 분류.
    2. 서비스 유형별 상세 조사.
  2. 구축 방안의 고려
    1. 운영 환경 및 대응 절차의 고려.
    2. 데이터 종류 및 속성의 검토.
    3. 대용량 데이터의 처리 효율성 고려.
    4. 외주개발 운영업체 관리 방안에 대한 고려.
    5. 수집 정보의 기밀성.
    6. 관계 법률의 검토. - 이용자 정보 수집 및 활용 부분.
  3. 운영 및 보안성의 고려
    1. 전담팀(인원)의 배치.
    2. 전문 상담요원 배치 고려.
    3. 전문 인력 양성 고려.
    4. 데이터 접근 통제.
    5. 비정상 데이터 유입의 통제.
    6. 이용자 데이터 보호.


'Programming Note > etc' 카테고리의 다른 글

Singleton Pattern이란?  (0) 2017.05.05
[etc] OSI 모형(OSI 7 Layer)  (0) 2017.04.18
Abstract class 와 Interface (extends, implements)  (0) 2017.03.17
[etc]Thread(Critical Section, Mutex, Semaphore)  (0) 2017.03.12
Process와 Thread  (0) 2017.03.12

+ Recent posts