Dev/Java 37

[java] Stream

Stream. 종류가 몹시 다양. 파이프라인 개념기본 입력 스트림(in): 데이터를 전송할 때 그 사이즈는 1byte단위import java.io.IOException;public class Test01 {public static void main(String[] args) throws IOException {int data;System.out.print("문자열 입력[ctrl+z]: ");//abfdg123while((data=System.in.read())!=-1){ //System.in.read() 1byte씩 읽음char ch = (char)data;System.out.print(ch);}}} 기본 출력 스트림(out)import java.io.IOException;import java.io.Ou..

Dev/Java 2019.01.30

[java] 스레드

Thread(스레드) : 자바로 멀티태스킹 하는 것을 가능하게 만드는 객체스레드 => 프로세스 내부에서 실행되는 명령 모임CPU가 지시해서 스레드 하나하나마다 작업을 시킴. 스레드들이 작업을 할땐 절대 중복되지 않음V3 바이러스검사시(이게 하나의 프로세스) 섹터를 한번에 쭉 검사를 하게되면 너무 오래걸림.논리적으로 섹터를 구분하여 동시에 검사함. -> 이때 사용되는 개념이 스레드다중스레드 동시에 명령이 실행가능. 스레드마다 번갈아서 빠르게 실행되서 동시실행으로 보임클래스는 다중상속이 안됨. ClassA extends ClassB,Thread 1초. 메소드가 0.1초 만큼 쉬는 시간을 줌} catch (Exception e) {// TODO: handle exception}}}}public class Te..

Dev/Java 2019.01.28

[java] 내부클래스, 익명의클래스(Annonymous), Vector

내부클래스(inner) 1. 클래스 안에 클래스를 생성. Nested class 클래스는 메소드안, 클래스안에 또 정의해도 문제 없음. 단, 괄호 잘 맞춰줘야 함class Outer1{ //컴파일 하게되면 Outer1.classstatic int a = 10;int b = 20;//Inner클래스를 사용하기 위해서는 Outer1클래스를 반드시 객체 생성 해줘야 함//그런데 Outer1의 객체가 생성 됐다고 Inner가 생성된 건 아니다.public class Inner1{//컴파일 하게되면 Outer$Inner.classint c = 30;public void write(){System.out.println(a);System.out.println(b);System.out.println(c);}}publi..

Dev/Java 2019.01.27

[java] 추상클래스, 인터페이스

추상클래스메모리의 낭비 없이 클래스를 미리 설계메소드를 재정의(override)해서 사용한다.메소드명을 가져다 사용하면 됨. 강제성을 띄지만 메소드명 만드는데 노력x메소드명이 동일하여 통일성.abstract class ShapeClass{ //추상클래스도 부모클래스의 역할을 함abstract void draw(); //틀을 만들어 놨으니 가져다가 재정의하여 사용해라. interface와 똑같음 //무조건 return값은 void고 메소드명은 draw}class Circle extends ShapeClass{@Overridepublic void draw() {System.out.println("원을 그린다..");}}class Rect extends ShapeClass{ //추상클래스의 메소드중 unimp..

Dev/Java 2019.01.25

[java] Calendar 클래스, Wrapper 클래스, Singleton, final

Calendar 클래스를 사용해서 만년 달력 만들기import java.util.Calendar;import java.util.Scanner;public class CalendarA {public static void main(String[] args) {Calendar now = Calendar.getInstance();Scanner sc = new Scanner(System.in);int i, y, m, w, lastday;do {System.out.print("년도?");y = sc.nextInt();} while (y stack int a = 10; double b; b = a; 암시적형변환 잘들어감. b = (double)a; 명시적형변환 a = b; 안들어감 a = (int)b;명시적형변환. ..

Dev/Java 2019.01.24

[java] 상속, Object 클래스, String클래스, StringBuffer와 StringBuilder

모든 생성자안에는 super()가 생략되어 있다.A class - B class - C class 부모-자식 관계일 때전혀 상관 없는 별도의 D class에서 C class의 객체를 생성할때 기본생성자안에있는 super를 통해부모클래스의 메모리를 먼저 할당받은 뒤 마지막에 자식클래스 생성.이때 최상위에 있는 A class의 부모클래스는? Object .java에서 가장 큰 자료형 = Object . 무엇이든지 넣을 수 있다. 자동으로 옮길 경우에는 무조건 object로 옮김. 제일 크니까.class Test{private String title;protected int area;//public Test(){}//기본생성자public Test(String title){ //오버로딩된 생성자this.titl..

Dev/Java 2019.01.24

[java] 생성자, instance블럭, static블럭, 재귀함수, Call By Reference

생성자1.메모리를 할당 받을 때 사용2.변수 초기화 목적클래스의 이름과 동일리턴값이 없기 때문에 property가 없다. 생성자냐 메소드냐 둘중에 하나.property가 있다면 무조건 메소드오버로딩이 가능함. (오버로딩 : 메소드중복정의. 하나의 클래스 안에서 이름은 같지만 데이터 자료형,매개변수 갯수 상이함.)코딩의 첫째줄에서 한번만 호출 가능 1 ? n+sum(n-1) : n;}public int pow(int a , int b){return b>=1 ? a*pow(a,b-1) : 1;//메소드안에서 자기자신 호출 = 되부름함수}//비정형인수int sum(int...args){int sum=0;/*for(int i=0;i

Dev/Java 2019.01.24

[java] static변수, 변수 초기화 방법, Overloading

static변수 public class Data {static String name = "배수지"; //static변수이므로 이미 메모리 할당되어 있음static int age = 25;public static void print(){System.out.println(name +"의 나이는 "+ age +"살입니다.");//현재상태에서는 오류 없으나, 배수지와 25가 static변수가 아니면 오류발생함. 메모리 할당 안해준것.}}전역변수는 반드시 메모리를 다른곳에 저장하고 메소드만 동일 주소로 사용함을 볼 수 있는 예제 class IntClass{//int값 두개를 저장할 수 있는 클래스. 클래스 자체를 자료형이라고 생각. 클래스=저장소로 기억하면 편함//변수선언만 진행int a;int b;}public..

Dev/Java 2019.01.22

[java] 전역/지역변수, 버블정렬,구구단만들기

전역변수와 지역변수 import java.util.Scanner;public class Rect {int w,h; //instance변수. 클래스 안 어디서나 사용 가능한 전역변수//매개변수는 동시에 여러개 설정가능public void input() {Scanner sc = new Scanner(System.in); // Scanner객체생성. 매개변수가 반드시 필요함. api확인!!//입력System.out.print("가로?");//10w = sc.nextInt();System.out.print("세로?");//10h = sc.nextInt();//return; void라고 설정해놨기때문에 return 작성안해도됨}public int area(){//return값이 정수형int result;//지역변..

Dev/Java 2019.01.22
반응형