slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
프로그래밍 언어 PowerPoint Presentation
Download Presentation
프로그래밍 언어

Loading in 2 Seconds...

play fullscreen
1 / 32

프로그래밍 언어 - PowerPoint PPT Presentation


  • 176 Views
  • Uploaded on

프로그래밍 언어. 전산정보처리학과 중위 ( 진 ) 정세화. 교수사관 6 기 임관. 참모 총장상 수상. 민간 학력. 아주대학교 정보 및 컴퓨터 공학부 졸업 ( 학사 ) 아주대학교 BK21 정보통신전문대학원 정보통신공학과 졸업 ( 석사 ). 제 2 사업팀. 기술 연구소. 국제 공인자격증. Cisco. CCNA(Cisco Certified Network Associate] CCNP[Cisco Certified Network Professional)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '프로그래밍 언어' - fathi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

프로그래밍 언어

전산정보처리학과

중위(진) 정세화

slide5

민간 학력

아주대학교 정보 및 컴퓨터 공학부 졸업(학사)

아주대학교 BK21정보통신전문대학원 정보통신공학과 졸업(석사)

slide8

국제 공인자격증

  • Cisco

CCNA(Cisco Certified Network Associate]

CCNP[Cisco Certified Network Professional)

CSQ(Cisco Firewall Specialist)

slide9

국제 공인자격증

국제 공인자격증

  • Cisco(네트워크 관련 자격증)
  • Oracle(데이터 베이스 관련 자격증)
  • SUN Microsystems(자바 프로그래밍 자격증)
  • Oracle

OCP 8i(Oracle Certified Professional 8i)

OCP 9i Upgrade

CCNA(Cisco Certified Network Associate]

CCNP[Cisco Certified Network Professional)

CSQ(Cisco Firewall Specialist)

OCP 8i(Oracle Certified Professional 8i)

OCP 9i Upgrade

SCJP(Sun Certified Java Programmer)

slide10

국제 공인자격증

  • SUN Microsystems

SCJP(Sun Certified Java Programmer)

slide12

자바 프로그래밍 입문

Java Programming for Beginners

전산정보처리학과

중위(진) 정세화

slide13

chapter 01.

자바 언어의 소개

slide14
학습목표
  • 자바 언어의 특징
  • 자바 프로그램의 종류
  • 자바 언어와 다른 언어의 차이점
  • 자바 플랫폼과 자바 가상 머신 이해
  • 객체지향 언어로 자바 언어가 적합한 이유 이해
slide15
자바 소개
  • 자바 언어
    • C, 포트란, 스몰토크, 펄, C++과 같은 고급 언어
    • 3세대 언어
    • C 언어와 문법적으로 유사하나 객체지향 언어임
    • 다양한 객체지향 언어의 특성을 조합해서 개발
    • 미국 선 마이크로시스템즈 사에서 개발
    • 배우기 쉽고, 빠른 개발이 가능한 언어
      • 가비지 컬렉션으로 malloc(), free()가 없음
applet application
자바 프로그램의 형태 – Applet`과 `Application
  • 애플릿 (Applet)
    • 웹 브라우저에 동작하는 프로그램
    • 프로그램 코드는 웹 서버 저장실행은 PC에서 웹 서버로 부터 HTML 문서와 함께 전달
    • HTML문서에 의해서 자동 실행
    • 악의적인 코드로 부터 보안 장치 있음
  • 애플리케이션 (Application)
    • 일반 응용 프로그램과 유사하게 동작
    • 프로그램 코드가 저장되어 있는 PC에서 실행
    • 모든 자원을 사용할 수 있으므로 실행 당사자가 유의함

* 자바 프로그램은 일반적으로 JAR 압축 파일 형태로 제공

slide18
애플릿과 애플리케이션의 코드 작성 (참고)
  • 애플릿
    • java.awt.applet.Applet 클래스로 부터 확장
    • init(), start(), paint(), stop(), destroy()등의 메소드를 재정의
  • 애플리케이션
    • private으로 정의된 클래스가 아니어야 함
    • public static void main() 메소드를 구현
  • 지금은 잘 이해가 되지 않아도 상관없음
slide19
자바 플랫폼
  • 플랫폼
    • 서로 다른 하드웨어나 운영체제에서 동일한 프로그램이 거의 유사하게 동작할 수 있게 해주는 환경
  • 자바 플랫폼
    • 자바 언어
    • 자바 개발 도구 (JDK)
    • 자바 실행 환경 (JRE)

개발자 지원

사용자 지원

JDK (Java Development Kit)

JRE (Java Runtime Environment)

  • JRE는 일반 사용자를 위하여 JDK에서 컴파일러와 디버거를 삭제하여 단순화 시킨 것
slide20
자바 플랫폼 특징
  • 자바 가상 머신
    • 다양한 운영체제에서 동작하기 위한 방식 채택
    • 자바 컴파일러가 생성한 바이트 코드를 실행
  • 컴퓨터 처리 수준에 맞는 구별
    • J2ME (Micro Edition)
      • 처리 수준이 상대적으로 낮은 휴대폰, 웹페드, 디지털 TV 대상
    • J2SE (Standard Edition)
      • 일반 데스크탑 PC 대상
    • J2EE (Enterprise Edition)
      • 처리 수준이 상대적으로 높은 서버/워크스테이션 급
  • 이번 강의는 J2SE에 맞춰져 있으며, 휴대폰에서는 J2ME를 많이 사용함
  • 단, 국내에서는 자바 언어와 C 언어를 함께 지원하는 WIPI를 적용하기 시작함
slide21
플랫폼 이란? (참조)
  • 윈도우 플랫폼
    • 마이크로소프트 사에서 나온 운영체제 통칭
      • Windows95/98
      • WindowsNT/2000
      • WindowsXP/2003
    • 특정 회사의 제품 군으로써의 플래폼
  • 리눅스 플랫폼
    • Linux 핵심 코드를 바탕으로 한 제품들
      • RedHat 리눅스, Hancom 리눅스, Debian 리눅스
      • 임베디드 리눅스, 몬타비스타 리눅스 (J2ME 정도에 해당)
    • 핵심 코드를 공유하는 의미의 플랫폼
slide22
바이트 코드와 네이티브 코드
  • 바이트 코드
    • CPU나 운영체제와 상관없이 동일한 형태의 코드
    • 자바 컴파일러에 의해서 생성
    • 자바 가상 머신을 통하여 다양한 환경에서 실행
      • 예) CA FE BA BE 00 03 00 2D 00 3E 08 00 3B
  • 네이티브 코드
    • CPU나 운영체제에 따라서 상이한 형태의 코드
    • 각종 프로그래밍 컴파일러에 의해서 생성
    • 해당 CPU나 운영체제에서만 실행 가능
      • 예) 4D 5A 90 00 03 00 00 00 04 00 00 00 FF 00
  • CA FE BA BE는 자바 바이트 코드임을 알려주는 매직 코드임.
slide23
자바 가상 머신
  • 자바 코드의 실행
    • 자바 프로그래밍
    • 자바 컴파일러를 통해서 바이트 코드 생성
    • 자바 가상 머신을 통해서 바이트 코드 수행
  • 자바 가상 머신
    • 추상적인 머신 - 실제 머신이 아님
    • 명령어 집합, 레지스터 집합, 스택, 힙, 메소드 영역 구성
    • 실제 네이티브 코드로 작성되어 있음
      • C언어, 자바 언어, 어셈블리어로 작성
  • 자바 언어가 포함된 것은 일부 기본 패키지의 클래스가 C언어와 연결되어 있음을 의미
slide25
객체지향 언어와 자바
  • 객체지향 언어
    • 1990년대 매우 중요한 이슈
    • 1960년대 시뮬라 (Simula) 언어가 최초
    • GUI 환경을 구현하는데 중요한 역할 제공
    • 객체는 데이터와 메소드로 구성
  • 객체지향 언어의 특성
    • 단순함 – 프로그램을 쉽게 이해할 수 있음
    • 재사용성 – 만들어 놓은 코드를 쉽게 재사용함
    • 신속성 – 프로그램을 빠르게 제작함

자바 언어는 객체지향 특성을 잘 만족하는 언어임

  • 객체지향 언어의 특징 중 비용 절감이 가장 중요함
slide26
자바 언어의 특징[1]
  • 배우기 쉽고 가르치기 쉬운 언어
    • 내용은 작지만 범위는 넓다
    • 인터프리트 방식으로 속도는 늦지만, 코드는 안정적이다
    • 가비지 컬렉터로 메모리 관리가 용이
    • 다양한 환경에서 동작이 가능함
slide27
자바 언어의 특징[2]
  • 좋은 객체지향 언어
    • 자바 프로그램은 기본적으로 클래스 집합
    • C언어의 라이브러리보다 진보된 개념의 패키지 지원
    • 클래스 상속, 캡슐화, 다형성 지원
slide28
자바 언어의 특징[3]
  • 견고한 프로그래밍 언어
    • 엄격한 문법적인 오류를 컴파일 시 감지
    • 예외 처리 지원으로 런타임 오류 감소
    • 가비지 컬렉터를 통한 메모리 접근 오류 금지
  • 견고하다는 것은 영어로 robust하다고 한다. 이는 오류가 그만큼 줄어들었음을 의미한다
slide29
자바 언어의 특징[4]
  • 신속하고 이식성이 있는 언어
    • 실행 코드 수준에서 호환성이 존재 (바이트 코드)
    • 자바 가상 머신의 이식성도 높은 편임 (IEEE754지원)
slide30
자바 언어의 특징[5]
  • 쓰레드 지원 언어
    • 대부분의 언어는 쓰레드를 운영체제의 기능으로 사용
    • 자바는 자체 쓰레드가 있기 때문에 쓰레드가 없는 환경에서도 쓰레드 기능을 제공해야 함
      • green thread
        • 자바 가상 머신 스스로 쓰레드 관리
      • native thread
        • 운영체제에서 제공하는 쓰레드 기능을 이용
slide31
요약
  • 자바 프로그래밍 언어
  • 자바 플랫폼
  • 자바 가상 머신
  • 객체지향 언어
  • 자바 언어의 특징