Search results for '2015 2학기'

  1. 2015.09.22 -- 자바 기본 프로그래밍
  2. 2015.09.13 -- Introduction(5)
  3. 2015.09.12 -- 실습 (1-3-3)
  4. 2015.09.12 -- 실습 (1-3-2)
  5. 2015.09.12 -- 실습 (1-3-1)
  6. 2015.09.11 -- Ecloipse 단축키
  7. 2015.09.09 -- 자바시작
  8. 2015.09.09 -- Introduction(4)

자바 기본 프로그래밍

2015. 9. 22. 09:46



클래스 만들기

 - class 키워드로 클래스 이름을 선언하고 { } 사이에 변수와 메소드 코드를 작성

 - public 은 다른 클래스에서 해당 클래스를 자유롭게 참조할 수 있다는 선언

    (<-> private)



주석문

 - //

 - /* ~~~ */



main 메소드

 - 반드시 public static void 로 선언

 - 한 클래스는 두 개 이상의 main() 을 가질 수 없다.

 - 보통 실행 시작할 클래스에만 main() 을 작성하기 때문에 모든 클래스가 main() 을 가지는 것은 아니다.



메소드

 - C/C++ 함수를 자바에서는 메소드라고 부름

 - 반드시 클래스 내에 작성되어야 한다,



식별자 이름 규칙

 - 특수문자, 공백은 식별자로 사용 불가

 - 식별자로 한글 사용 가능

 - 키워드는 식별자로 사용 불가

 - 첫 번째 문자로 숫자 사용 불가

 - true, false, null은 식별자로 사용할 수 없음

 - 대소문자 구별

 - 길이 제한 없음



자바의 데이터 타입

 - Basic Type

- boolean, char, byte, short, int, long, float, double

 - Reference Type

- 한 가지이지만 다음 세가지로 나뉨

- 배열에 대한 레퍼런스

- 클래스에 대한 레퍼런스

- 인터페이스에 대한 레퍼런스



자바는 2byte로 표준화된 Unicode 사용



문자열

 - 기본 타입에 속하지 않으며, JDK에서 제공하는 String 클래스를 이용



+연산

 - 문자열과 기본타입을 연결한 문자열을 생성해준다.



리터럴(Literal)

 - 프로그램에 직접 표현한 값

 - 정수 리터럴

- 15(10진수) / 015(8진수) / 0x15(16진수) / 0b0101 (2진수)

 - 실수 리터럴

 - 문자 리터럴

- 단일 인용부호(' ')로 문자를 표현하거나 \u 다음에 문자의 유니코드 값을 사용하여 표현

 - 특수문자 리터럴

- 백슬래시(\) 다음에 특수 기호를 붙여서 표현 (Escape Sequence 라고함)

 - 논리타입 리터럴

     - trun, false

'2015 2학기 > Object-Oriented (JAVA)' 카테고리의 다른 글

자바 기본 프로그래밍  (0) 2015.09.22
실습 (1-3-3)  (0) 2015.09.12
실습 (1-3-2)  (0) 2015.09.12
실습 (1-3-1)  (0) 2015.09.12
Ecloipse 단축키  (0) 2015.09.11
자바시작  (0) 2015.09.09

하얀백숙 2015 2학기/Object-Oriented (JAVA)

Introduction(5)

2015. 9. 13. 21:45

Introduction(5)



운영체제의 구조



프로세스

 - 각 사용자는 적어도 메모리에 수행되고 있는 하나의 프로그램을 가진다.



멀티프로그래밍

 - Main Memory에 올라와 있는 Program이 여러개다.

 - 효율성을 위해 필요함

 - 하나의 사용자가 계속 CPU와 입출력 장치를 선점할 수는 없다.

 - 수행중인 작업이 예를 들어 입출력과 같은 작업을 기다려야 한다면,

    OS는 다른 작업이 수행되도록 전환하다.



시분할(TimeSharing) = 멀티태스킹(MultiTasking)

 - CPU가 작업을 자주 전환하며 수행하여 사용자로 하여금 마치 수행되는

    각 작업과 상호작용하게 느끼게 해주는 것

 - 반응시간(Response time)은 1초 미만이어야 한다.

 - 프로세스를 가진다.

 - CPU 스케줄링

 - 스와핑(Swapping) 은 프로세스들이 수행되도록 메모리로 들어오고 나가는 것




운영체제의 연산



 - 현재 OS는 하드웨어에 의한 인터럽트 기반으로 동작

 - 소프트웨어 에러나 요청은 예외(Exception)나 트랩(Trap)을 만듬



이중모드(Dual-mode) 연산

 - OS가 다른 시스템 컴포넌트와 OS 스스로 보호하는 것을 가능케 한다.

 - 사용자모드(User mode) = Application mode

- OS mode가 할 수 있는 일을 막기 위한 모드 (보호하기위해)

 - 커널모드(Kernel mode) = Operating System mode = Root mode

- 감독자모드, 시스템모드, 특권모드라고 불림

 - 모드 비트(Mode bit)

- 하드웨어에 의해 제공

- 시스템이 사용자코드와 커널코드를 수행하는 때를 구분할 수 있는 능력을 제공

- 몇몇 명령어는 단지 커널모드에서만 실행되도록 특권을 가지도록 지정됨

- 시스템 호출(System Call)은 모드를 커널로 바꾸었다가 호출로부터 리셋되면

   다시 사용자모드로 복귀함

'2015 2학기 > Operating System' 카테고리의 다른 글

Introduction(5)  (0) 2015.09.13
Introduction(4)  (0) 2015.09.09
Introduction(3)  (0) 2015.09.06
Introduction(2)  (0) 2015.09.06
Introduction(1)  (0) 2015.09.05

하얀백숙 2015 2학기/Operating System

실습 (1-3-3)

2015. 9. 12. 21:38

(JAVA Programming 실습 1)



(1)

조건 연산자 사용하기






(2)

If-else 







(3)

다중 if-else 이용하여 학점 매기기







(4)

중첩 if-else 문






(5)

Switch문 사용



Switch

 - case 문에 지정하는 값은 정수 리터럴, 문자 리터럴, 문자열 리터럴만 허용 

   (따라서 변수는 써주면안됨)

 - case 문에는 변수나 식을 사용할 수 없다.

'2015 2학기 > Object-Oriented (JAVA)' 카테고리의 다른 글

자바 기본 프로그래밍  (0) 2015.09.22
실습 (1-3-3)  (0) 2015.09.12
실습 (1-3-2)  (0) 2015.09.12
실습 (1-3-1)  (0) 2015.09.12
Ecloipse 단축키  (0) 2015.09.11
자바시작  (0) 2015.09.09

하얀백숙 2015 2학기/Object-Oriented (JAVA)

실습 (1-3-2)

2015. 9. 12. 20:40

(JAVA Programming 실습 1)




(1)



System.in

 - 자바에서 제공하는 것으로 키보드 장치와 직접 연결되는 표준 입력 스트림 객체.

 - 키 값을 바이트 정보로 바꾸어 제공하는 Low-Level 스트림 객체

 - 이것을 사용하는 응용 프로그램은 받은 바이트 정보를 문자나 숫자로 스스로 

    변환해야 하는 번거로움이 있다.

    그러므로, 입력된 키를 문자나 정수, 실수 등 사용자가 원하는 타입으로 변환해주는 

    High-Level 스트림 클래스 Scanner를 사용하는 것이 좋다.


Scanner

 - Scanner는 키 입력을 위한 목적으로 자바 패키지에서 제공되는 클래스

 - scanner 객체는 System.in 으로 하여금 키보드로부터 입력을 받게하고,

    System.in이 반환하는 스트림을 문자, 문자열, 정수 등으로 변환하여 리턴함

 - 사용자가 입력하는 키 값을 공백으로 구분되는 토큰단위로 읽는다.

 

 메소드

설명

String next() 

다음 토큰을 문자열로 리턴 

byte nextByte() 

다음 토큰을 byte 타입으로 리턴 

int nextInt() 

다음 토큰을 int 타입으로 리턴 

double nextDouble() 

다음 토큰을 double 타입으로 리턴 

boolean nextBoolean() 

다음 토큰을 boolean 타입으로 리턴

String nextLine()

'\n'을 포함하는 한 라인을 읽고 '\n'을 버린 나머지만 리턴 

void close()

Scanner의 사용 종료 

boolean hasNext() 

현재 입력된 토큰이 있으면 true,

아니면 새로운 입력이 들어올 때까지 무한정 기다려서,

새로운 입력이 들어오면 그 때 true 리턴

crtl-z 키가 입력되면 입력 끝이므로 false 리턴 



















Import

 - Scanner를 사용하기 위해서 필요함

 - Scanner 클래스의 경로명이 java.util.Scanner임을 알려준다.

 - import문이 없으면 자바 컴파일러가 Scanner 클래스 코드를 찾지 못함





(2)






(3)

비트 연산자와 시프트 연산자 사용하기


시프트 연산자 

내용 

a >> b 

a의 각 비트를 오른쪽으로 b번 시프트한다.

최상위 비트의 빈자리는 시프트 전의 최상위 비트로 채운다.

산술적 오른쪽 시프트 

a >>> b

a의 각 비트를 오른쪽으로 b번 시프트한다.

최상위 비트의 빈자리는 0으로 채운다.

논리적 오른쪽 시프트 

a << b 

a의 각 비트를 왼쪽으로 b번 시프트한다.

최하위 비트의 빈자리는 0으로 채운다

산술적 왼쪽 시프트






(4)

비교 연산자와 논리 연산자









(5)

대입 연산자와 증감 연산자



'2015 2학기 > Object-Oriented (JAVA)' 카테고리의 다른 글

자바 기본 프로그래밍  (0) 2015.09.22
실습 (1-3-3)  (0) 2015.09.12
실습 (1-3-2)  (0) 2015.09.12
실습 (1-3-1)  (0) 2015.09.12
Ecloipse 단축키  (0) 2015.09.11
자바시작  (0) 2015.09.09

하얀백숙 2015 2학기/Object-Oriented (JAVA)

실습 (1-3-1)

2015. 9. 12. 20:28

(JAVA Programming 실습 1)



(1)





(2)





(3)




'2015 2학기 > Object-Oriented (JAVA)' 카테고리의 다른 글

자바 기본 프로그래밍  (0) 2015.09.22
실습 (1-3-3)  (0) 2015.09.12
실습 (1-3-2)  (0) 2015.09.12
실습 (1-3-1)  (0) 2015.09.12
Ecloipse 단축키  (0) 2015.09.11
자바시작  (0) 2015.09.09

하얀백숙 2015 2학기/Object-Oriented (JAVA)

Ecloipse 단축키

2015. 9. 11. 15:03




출처 : http://blog.insightbook.co.kr/


'2015 2학기 > Object-Oriented (JAVA)' 카테고리의 다른 글

자바 기본 프로그래밍  (0) 2015.09.22
실습 (1-3-3)  (0) 2015.09.12
실습 (1-3-2)  (0) 2015.09.12
실습 (1-3-1)  (0) 2015.09.12
Ecloipse 단축키  (0) 2015.09.11
자바시작  (0) 2015.09.09

하얀백숙 2015 2학기/Object-Oriented (JAVA)

자바시작

2015. 9. 9. 23:37

자바시작



프로그램 4단계

 - 데이터입력

 - Excution

 - Save

 - 출력


저급언어

 - 니모닉 기호로 일대일 대응시킨 어셈블리어(.asm)


고급언어

 - 절차지향 : C언어

 - 객체지향 : JAVA


컴파일(Compile)

 - 소스 프로그램을 기계어로 변환하는 과정

 - 이 소프트웨어를 컴파일러(Compiler)라고 한다.

 - 자바 : .java -> .class (**자바는 링크과정이 없음)

 - C : .c -> .obj -> .exe

 - C++ : .cpp -> .obj -> .exe


자바의 태동

 - 선마이크로시스템즈는 제임스 고슬링이란 엔지니어를 중심으로

    그린프로젝트라는 이름으로 가전제품의 소프트웨어 작성에 적합한 프로그래밍 언어를 개발하기 시작

 - 플랫폼 호환성 문제해결 / 플랫폼 독립적 / 메모리 사용량 적은 것 

 - 위와 같은 새로운 언어와 실행체계를 개발하였고, 이름은  Oak(오크)라고 지음

 - 선마이크로시스템즈는 오크를 인터넷 환경에 적합하도록 발전시켰으며, 마침내 자바라는 이름으로 발표함

 

플랫폼의 종속성

 - 만약 다른 환경에서 프로그램을 실행하고자 한다면, 각 플랫폼 대상으로 소스 코드를 수정하거나,

    각 플랫폼에서 따로 컴파일하여 플랫폼에 맞는 기계어 프로그램을 생성해야하는 특성


자바 플랫폼의 독립성

 - 자바는 처음부터 플랫폼에 독립적으로 설계됨 (하지만 JVM은 플랫폼에 종속적!)

 - 따라서 한 번 작성되고 컴파일된 자바 코드는 운영체제나 CPU 등 플랫폼에 상관없이

    자바 가상 기계(Java Virtual Machine, JVM) 만 있으면 어떤 컴퓨터에서든 동일하게 실행됨. 

    이를 WORA (Write One Run Anywhere) 라고함


바이트 코드(Byte Code)

 - 자바 컴파일러가 자바 소스 프로그램을 컴파일한 일종의 기계어로서, 

    JVM에 의해 실행되는 바이너리코드(Binary Code)이다.

 - CPU에 의해 직접 실행되지 않고, JVM에 의해 인터프리터 방식으로 한 명령씩 해석되어 실행됨


- JVM는 플랫폼에 적합하게 서로 다르게 구현되므로 플랫폼 종속적이다.

   그러나 이들은 모두 동일한 자바 프로그램에게 동일한 인터페이스와 실행 환경을 제공함


JDK / JRE

 - JDK(Java Development Kit)는는 배포판을 통해 자바 개발자에게 무료로 배포하는 소프트웨어 도구

 - JDK는 자바 컴파일러, JRE, 클래스 라이브러리, 자바 응용프로그램 샘플 소스 등을 포함

 - JRE(Java Rumtime Environment)는 자바 응용프로그램이 실행될 때 필요한 환경이다.


JDK의 bin 디렉터리에 포함되어 있는 주요한 개발 도구들

 - javac : 자바 소스를 바이트 코드로 변환하는 컴파일러러

 - java : 자바 프로그램 실행기, JVM을 작동시켜 자바 프로그램 실행

 - javadoc : 자바 소스 프로그램으로부터 HTML 형식의 API 도큐먼트 생성

 - jar : 자바 클래스 파일을 압축한 자바 아카이브 파일(JAR) 생성, 관리

 - jdb : 자바 응용프로그램의 실행 중 오류를 찾는 데 사용하는 디버거

 - javap : 클래스 파일의 바이트 코드를 소스와 함께 보여주는 디스어셈블

 - appletviewer :  웹 브라우저 없이 자바 애플릿을 실행하는 유틸리티


자바 응용프로그램의 종류


~~~~~



자바의 특징


~~~~~~


'2015 2학기 > Object-Oriented (JAVA)' 카테고리의 다른 글

자바 기본 프로그래밍  (0) 2015.09.22
실습 (1-3-3)  (0) 2015.09.12
실습 (1-3-2)  (0) 2015.09.12
실습 (1-3-1)  (0) 2015.09.12
Ecloipse 단축키  (0) 2015.09.11
자바시작  (0) 2015.09.09

하얀백숙 2015 2학기/Object-Oriented (JAVA)

Introduction(4)

2015. 9. 9. 22:36

Introduction(4)


프로그램

 - 소스코드, Static(정적)


프로세스

 - .exe 파일을 실제 수행해서 메모리에 올라감, Dynamic(동적)



저장소 구조

 - Main Memory : (CPU 외부에서 = 하드디스크 같은 곳) CPU에 직접적으로 

                             접근할 수 있는 유일한 대규모 저장소 매체, 휘발성

 - 2차 저장소 : 대규모의 비휘발성 저장을 가능케 하는 메인메모리의 확장 저장소

 - Magnetic Disks : 디스크 표면은 논리적으로 섹터로 세분화되는 트랙으로 이루어짐

                                그래서 장치 제어기는 장치와 컴퓨터 사이의 논리적인 상호작용을 결정함



저장소 계층

 - 저장 시스템은 (속도, 가격, 휘발성) 계층적으로 구성됨



캐싱(Chching)

 - 캐시에 복사하는 동작

 - 정보를 보다 빠른 저장 시스템인 캐시에 복사한다.

 - 메인 메모리는 보조 저장소를 위한 빠른 캐시로 볼 수 있다. (보조 저장소 입장에서!!)



저장 장치 계층



캐싱(Caching)

 - 컴퓨터 내부의 많은 계층에서 캐싱이 수행된다. (하드웨어, 운영체제, 소프트웨어)

 - 사용되는 정보는 임시적으로 느린 저장소에서 빠른 저장소로 복사된다.

 - 정보가 존재하는지 결정하기 위해 먼저 빠른 저장소인 Cache가 점검된다.

- 정보가 캐시에 존재한다면, 정보는 바로 빠른 캐시로부터 직접 사용된다.

- 그렇지 않으면, 데이터는 캐시로 복사된 후 사용된다.

 - 캐시는 캐시되는 저장소보다 더 작다!!

- 캐시관리는 중요한 관리 문제가 있다.

- 캐시 크기와 교체 정책



Registers > Cache > Main Memory > Disk Storage



멀티태스킹(Multitasking) 환경

 - 값이 저장되어 있는 계층에 관계 없이, 가장 최근의 값을 사용하도록 주의





컴퓨터 시스템 구조


싱글프로세서(Single-Processor)

 - 1개의 CPU


멀티프로세서(Multiprocessor)

 - CPU 2개이상인 것

 - 주요장점

- 처리율 증가

- 규모의 경제 : 싱글프로세서 컴퓨터 2대보다 더 경제적(but, 조금 더 느림)

- 신뢰성 증가 : CPU가 2개이기 때문에 한개가 망가져도 동작가능

- 단점

- 복잡성(Complexity) 증가



멀티프로세서 시스템의 두가지 유형

 - 비대칭(Asymmetric) 멀티프로세싱

- Master-Slave relationship

- 입출력 연산은 주로 Master가 담당

 - 대칭(Symmetric) 멀티프로세싱(SMP)

- 모든 프로세서는 서로 같은 Peer

- 각 프로세서는 다른 프로세서로부터의 간섭없이 각자 자기일을 수행



클러스터 시스템(Clustered System)

 - 계산 작업을 수행하기 위해 여러 시스템이 함께 작업함

 - 여러 시스템은 LAN으로 연결됨






'2015 2학기 > Operating System' 카테고리의 다른 글

Introduction(5)  (0) 2015.09.13
Introduction(4)  (0) 2015.09.09
Introduction(3)  (0) 2015.09.06
Introduction(2)  (0) 2015.09.06
Introduction(1)  (0) 2015.09.05

하얀백숙 2015 2학기/Operating System