자바 Java/자바 공부 java study(21)
-
배열(Array) 이란? -배열 선언/생성/초기화/다차원,가변 배열
배열이란 무엇일까? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 '배열'이라고 한다. 배열의 선언 // 생성된 배열을 다루는데 사용될 참조 변수 선언 (주소) 타입 [] 변수 이름; 타입 변수이름 []; 배열의 생성 // 값을 저장할 수 있는 공간 생성 변수 이름 = new 타입[배열크기]; 배열도 객체이기 때문에 멤버 변수와 메서드를 갖고 있으며 이중 멤버 변수 length는 배열의 크기에 대한 정보 담음 배열은 한번 생성 되면 크기를 변경 할 수 없기 때문에 배열의 length는 변하지 않는다. 배열의 초기화 배열이 생성될 때 각 타입의 기본 값으로 초기화 된다. 자료형 기본값 boolean false int 0 참조형 변수(ex String) null 원하는 값으로 초기화 하고 싶을 경우 ..
2020.11.06 -
입출력-미완성
입력/출력-> 우리가 만드는 프로그램이 할당받을 메모리 외부와 데이터를 주고 받음 스트림 (stream) 순서가 있는 데이터의 연속적인 흐름 (마치 배열처럼 데이터가 순서가 있음) 1바이트씩 이동한다. 파일 인풋 스트림 :파일로 부터 나에게 데이터가 나오는거 (파일에 빨대 인풋한거를 생각 ) 파일 아웃풋 스트림 : 나로부터 파일에게 데이터가 들어가는거 빨대에 데이터 보낼때 잘게 갈아서 보내는데 그 상태가 지금 data.txt의 상태 이 깨져있는거를 잘 모아서 우리가 파일 인풋 스트림 해야됨 임시로 메모리 저장해두는 공간 buffer buffer는 바가지 ... 바가지 크기는 기본이 8192 바가지가 꽉 찼는데 새로운 데이터가 하나 더 들어오면 그때 바가지에 있는 데이터를 처리 ''''' 1024*8 한 ..
2020.03.18 -
스레드(thread)&멀티스레드&동기화-미완성
다중 스레딩(multi-threading)은 하나의 프로그램이 동시에 여러가지 작업을 할 수 있도록 하는 것. 각각의 작업은 스레드 라고 불린다. (두개 이상의 스레드- 멀티 스레드) 멀티 프로세스는 한번에 여러가지 프로그램을 실행시키는 것 멀티 스레드는 하나의 프로그램 안에서 여러개의 명령처리를 하는 것. 프로세스: 자신망의 데이터를 가진다. 스레드: 동일한 데이터를 공유한다. 스레드는 어떠한 프로그램 내에서 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 스레드를 생성하는 방법 class Count extends Thread{ public void run(){ for(int i=0;i run() 한번 실행. ==> 프로그램이 실행되면 처음 만들어지는 쓰레드 하나, 얘는 하는일이 main()함수를..
2020.03.17 -
예외처리 (Exception )
Error(에러)와 Exception(예외의 차이) 예외 -> 컴파일 때 아니라 런타임 때 발생한다. 프로그램 실행 중 어떤 이유로 프로그램이 종료됨. 예외처리 -> 프로그램이 종료되는상황 (런타임 에러) 이 왔을때 어떻게 대응 할 것인지에 대한 명세를 작성 해주는 것. 에러(Error)란 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램에 이상이 생겼거나 JVM 실행에 문제가 생겼을 경우 발생하는것을 말한다. 이 경우 개발자가 대처할 방법은 극히 제한적이다. 하지만 예외(Exception)은 다르다. 예외란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 말한다. 예외가 발생하면 프로그램이 종료가 된다는것은 에러와 동일하지만 예외는 예외처리(Exception H..
2020.03.17 -
래퍼클래스 (wrapper class)
프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우가 있습니다. 예를 들어, 메소드의 인수로 객체 타입만이 요구되면, 기본 타입의 데이터를 그대로 사용할 수는 없습니다. 이때에는 기본 타입의 데이터를 먼저 객체로 변환한 후 작업을 수행해야 합니다. 이렇게 8개의 기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼 클래스(Wrapper class)라고 합니다. 래퍼 클래스는 각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어 줍니다. 이러한 래퍼 클래스는 모두 java.lang 패키지에 포함되어 제공됩니다. 자바의 기본 타입에 대응하여 제공하고 있는 래퍼 클래스는 다음과 같습니다. 기본타입 래퍼 클래스 byte Byte short Short int I..
2020.03.16 -
제네릭(generic) -미완성
제네릭(generic)이란? 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미합니다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법입니다. 이렇게 컴파일 시에 미리 타입 검사(type check)를 수행하면 다음과 같은 장점을 가집니다. 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있습니다 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있습니다. JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했습니다. 하지만 이 경우에는 반환된 Object 객체를 다시 원하는 타입으로 타입 변환해..
2020.03.16