본문 바로가기

자바

(21)
스레드(Thread) 스레드 스레드란 프로세스 내에서 실제로 작업을 수행하는 주체를 의미한다. 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행합니다. 동기적실행 - 일의 순서가 있다 데이터관점에서는 데이터의 일치 동기적실행이 안되어있다 - 데이터의 일치가 되어있지않다. 비동기적실행 - 일의 순서가 없다. Thread.sleep - 단위 : 1/1000 결과값이 한번에 나오지않고 1초에 하나씩 나올것이다. 스레드,비동기방식 작성해보기 아래 코드 실행 순서 1. 일반 클래스 타입의 FakeThread가 실행 된다. 2. Runnable 인터페이스를 상속 받은 RealThread클래스가 실행 된다. 3. 이때 RealThread는 자신의 클래스 안의 run메서드가 실행된다. 4. 리얼 스레드가 실행 되면서 maind..
공공데이터 가져오기 공공데이터포털에서 회원가입을 합니다. 기상청_단기예보 라는 공공데이터를 가지고 왔습니다. 여러개의 상세기능정보가 있습니다. 그중에서 초단기실황조회를 가지고오겠습니다. ServiceKey에는 위에 일반 인증키(Encoding) 값을 그대로 복사해서 붙여놓으면 됩니다. pageNo = 1 numOfRows = 1000 dataType 같은경우 xml형식과 JSON형식으로 가지고 올수 있습니다. 날짜는 오늘 날짜로 가지고오겠습니다. 왼쪽은 JSON형식으로 불러온것이고, 오른쪽은 XML형식으로 불러온것입니다. 이번에는 JSON형식을 활용해서 공공데이터를 불러오도록 하겠습니다. OpenAPI 정보에 참고 문서 파일이 있습니다. 파일이 두개가 있습니다. 원하는 지역의 격자,경도,위도가 나옵니다. 격자 X, 격자 Y..
스트림(Stream) 스크림 순서가 있는 데이터의 연속적인 흐름이라는 의미이다. Input = 프로그램이 들어온다 Output = 프로그램이 나간다. InputStream이 while로 계속 데이터가 들어오는지 대기하다가 read로 데이터를 들어 온것을 읽고 그 데이터를 number로 저장한다. 여기서 in은 키보드랑 연결된 선이다. InputStream in = System.in; A를 콘솔창에 입력하면 ASCII코드 값이 65가 나온다. number를 다운캐스팅 해주면 A를 입력하면 A가 나온다. 배열로 스트림 배열크기를 4로지정했기때문에 콘솔창에서 데이터를 아무리 많이 입력해도 4개의 데이터만 출력된다. package communication; import java.io.InputStream; import java.io..
일반변수와 레퍼런스 변수 일반변수 - 크기가 정해져 있는 것(컴파일 시점) 레퍼런스 변수 - 크기가 정해져 있지 않는 것(컴파일 시점) int num =10; // 일반변수 MyData d; // 레퍼런스 변수 기본 타입 일반변수 num은 10이라는 크기가 정해져있지만 레퍼런스 변수인 d는 크기를 알수없다. Mydata는 참조 자료형중 하나인 클래스에서 사용자가 임의로 만든 커스텀 타입이다. 커스텀 타입은 처음에는 크기를 알수없다. (컴파일 될때 크기를 알 수없고, 프로그램이 실행(Runtime)되면 그때서야 크기를 알 수 있다. 일반변수는 값을 가지고 있다. 레퍼런스 변수는 주소를 가지고 있다. 그이유는 ? 일반 변수는 컴파일 되었을때 크기를 알 수 있지만 참조 변수는 컴파일 되었을때 크기를 알 수 있기 때문이다. 개인정리 아..
자바를 DB연결 드래그해서 lib 라이브러리로 이동시킨다. study 프로젝트에 Build Path를 해준다. 라이브버리 등록만하고 경로설정이 안되어있기때문에 경로설정하고 클래스에서 사용할수 있도록 부가설명자료 리스너가 작동하는걸 확인해준다. 데이터베이스 연결하기 1. 디비 연결 2. 문장 완성 3. 문장 전송 EX01) EX02)
자바 SMS 전송 라이브러리 coolsms홈페이지에 들어가서 회원가입을 해준다. 로그인을 하고 개발/연동에 API Key 관리를 눌러준다. API key 와 API Secret을 만들어준다. 새 API KEY를 만들면 API Sectet은 자동으로 만들어진다. 고객지원에 있는 개발자센터를 눌러준다. java를 눌러준다. 다운받은 javaSDK-2.2.jar를 workspace안에 download파일을 만들어 거기안에 넣어준다. v2.2-http-cv52에 있는 Source code(zip)을 다운받아 준다. 다운받은 javaSDK-2.2.jar와 json-simple-1.1.1.jar를 드레그해서 lib폴더안에 붙여넣어줍니다. sms패키를 만들고 거기에 ExampleSend클래스를 만들어줍니다. CoolDeveloper홈페이지로가서..
오버라이딩(overriding) 오버라이딩(overriding)이란? 부모 클래스로부터 상속받은 메소드를 자식클래스에서 재정의하여 사용하는 것이다. 자식 클래스에서 부모의 메소드를 수정해야 할때 사용된다. 일반 클래스의 상속 관계에서는 많이 사용되지는 않고 추상 클래스나 인터페이스에서 필수적으로 사용되는 개념이다. 자식클래스에서 부모클래스의 메소드와 동일한 시그니쳐(메소드 이름, 리턴 타입, 매개변수의 개수/자료형/순서)를 적용하여야 한다. 지구인은 아시아인의 부모 메소드이다. 아시아인은 한국인의 메소드이다. 포인터가 아시아인 hello2()를 가르키고 있다. 아시아인은 지구인을 상속하고 있다. 지구인은 아시아인의 부모메소드이다. hello(), hello2()는 가능하지만 hello3()는 불가능하다. hello3()는 아시아인의 자..
자바 static 개념연습예제 ex09 패키지에 MethodEx01.java int add(int a, int b){} int minus(int a, int b){} 1. 더하기, 빼기 메서드를 static으로 하나 만들고 2. 10, 5를 전달해서 더하기를 수행하고 그결과를 return 받아서 3. (15)리턴결과, 10을 전달해서 마이너스를 수행해서 그 결과를 출력해라 package ex09; class MethodEx01 { static int add(int a, int b){ // 정수값이고 리턴값을 받기 때문에 static int int result = a + b; return result;// return 값 } static int minus(int a, int b) { int result = a - b; return re..