제어 구조

- 흐름(절차)을 제어하는 것

선택문 > 반복문 > 분기문


선택문 : if-else - 배타적인 관계로(검사 할 때 많이 사용함) (유효한 값의 범위 : 도메인)

반복문 : while - 조건이 거짓이 될 때까지 반복 (반복 검사)

for - 원하는 만큼의 반복

분기문 : 많은 선택지(비교)를 갖게 되는 선택문 (else-if)의 단점 때문에 분기문을 사용.


파일 입출력

* 콘솔을 이용한 입출력은 객체가 이미 지정되어있지만 파일 입출력은 stream 객체를 지정해 주어야한다.

FileOutputStream fos = new FileOutputStream(“d:\\test.txt”);  // import + 예외처리

fos.write(‘A’);

fos.flush();

fos.close();

* 버퍼는 약 8kb의 크기를 가지고 있다.


배열

입력 -> 데이터 -> 출력의 과정에서 저장소의 필요성이 생김

장점 : 일괄적으로 데이터를 처리할 수 있다. (반복문 사용)


FileInputStream.read(public int read(byte[] b, int off, int len) --> off부터 시작해서 ‘len’바이트를 읽는다.



역참조 연산?



모듈화



스택


동적 할당 - heap 영역


static

인스턴스메소드 (스태틱X) - 객체명을 통해 호출 된다.



캡슐화 - 데이터구조/함수를 묶어놓는것

왜? 캡슐화 된 데이터/함수에 구조가 바뀌게 되었을때 유지보수를 편하게 하기 위해.

캡슐이 실체화되면 객체.


생성자 - 객체가 생성될 때 가장 먼저 실행됨, 입력 O 출력 X

데이터를 초기화 하기 위함 (클래스이름과 동일한 함수명 사용, 반환타입 X)


오버로딩 - 함수명이 중복되었을때

인자가 없는 쪽이 기본, 인자가 있는 쪽이 중복된다고 본다.

this 키워드 -- 오버로딩이 된 함수가 있을 때 this() 키워드를 통해 인자를 전달하여 다른 오버로딩된 메소드를 호출 할 수 있다.

7. 함수 그리고 객체와 캡슐


함수 : 기능 (주체를 사용할 수 있는 행위)

컴퓨터 프로그램에서 식 내에 사용함으로써 하나의 값이 정해지는 절차. ex) y=Ax+B

함수는 동사(행위) - 동사는 명사가 없으면 어떤 행위를 할 수 없다.

비동기적인 시스템을 구성해야한다. * 비동기적이려면 버퍼를 사용해야함.

출력 버퍼(단 방향 버퍼 =OutputStream) ex) 일반통행 도로

Stream = 단 방향 버퍼.


출력버퍼 (outputstream)와 같이 한방향으로 가는 것은 단방향 버퍼라 한다.


동기적(Synchronous)

 어떤 작업을 요청했을 때 그 작업이 종료될 때까지 기다린 후 다음(다른) 작업을 수행하는 방식

 (한 가지 일을 순서대로 수행.)

비동기적(Asynchronous)

 어떤 작업을 요청했을 때 그 작업이 종료될 때까지 기다리지 않고 다른 작업을 하고 있다가,

 요청했던 작업이 종료되면 그에 대한 추가 작업을 수행하는 방식

(ex.전화)


버퍼(buffer, 문화어: 완충기억기)

 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역이다. 버퍼링(buffering)이란 버퍼를 활용하는 방식 또는 버퍼를 채우는 동작을 말한다. 다른 말로 '큐(Queue)'라고도 표현한다.

보통 데이터는 키보드와 같은 입력 장치로부터 받거나 프린터와 같은 출력 장치로 내보낼 때 버퍼 안에 저장된다. 그러나 버퍼는 컴퓨터 안의 프로세스 사이에서 데이터를 이동시킬 때 사용된다. 이는 전자 통신의 버퍼와 비유할 수 있다. 버퍼는 하드웨어나 소프트웨어에 추가될 수 있지만 버퍼는 상당수가 소프트웨어에 추가된다. 버퍼는 보통 속도가 계속 바뀔 수 있으므로 데이터 수신, 처리 속도에 차이가 있다. (예: 프린터 스풀러)



객체 :

개체에 의미를 부여해 존재하는 것으로 만드는 것.

※ 객체(Object) : 실존 하는 것.  / 개체(entity) : 실존하지 않는 것.

자바는 new라는 키워드로 개체화한다.

ex)OutputStream ops = new OutPutStream(); 함수를 개체화 했다면 사용할 수 있다.

    함수를 사용하는 방법>

ops.write(문자); ->ops버퍼에 쓰는 작업

ops.flush();->비우는 작업

System.in / System.out 은 기본으로 제공되는 입,출력 도구

new ConsoleOutputStream() ->out 개체화 되어있다.

new ConsoleInputStream() -> in 개체화 되어있다.

'Yame Programmer > JAVA' 카테고리의 다른 글

[이론] 9.값과 연산자  (0) 2015.06.10
[이론] ASCII / UNICODE  (0) 2015.06.10
[이론] WORA(자바 플랫폼)  (0) 2015.06.03
[이론] 프로그래밍의 종류  (0) 2015.06.03
[이론]자바 프로그래밍 이란?  (0) 2015.06.03

+ Recent posts