TIL-Java(프로그래밍이란,IOT 프로그램 만들기)

연시아·2022년 7월 13일
0

TIL

목록 보기
44/51
post-thumbnail

22.07.13

🤍 프로그래밍이란 ?

프로그래밍은 시간의 순서에 따라서 일어나야 하는 일을 컴퓨터에게 알려주는 일을 말하고 프로그램은 프로그래밍을 통해서 만든 결과물입니다.
프로그래밍을 하는 이유는 자동화된 처라를 하기 위해서 입니다.

위 3줄의 코드가 아니라 1억 줄의 코드, 사소한 코드가 아닌 너무 중요해서 잘못되면 큰일 나는 코드라고 생각해봅시다.
그리고 이 코드가 하루에도 수십 번씩 실행되고 여러 사람이 사용하는 코드라고 상상해보자.
컴퓨터가 갖고 있는 하나하나의 기능->파일을 읽는다. 파일에 쓴다. 또 화면에 뭔가 표시한다. 이러한 기능들을 우리가 하고자 하는 일의 취지에 맞게 이렇게 배치를 하면 컴퓨터가 이 작업을 순차적으로 실행해 주는 걸 통해서 자동화를 할 수 있습니다. 우리가 이제 프로그래밍을 통해서 얻을 수 있는 효과는 순차적으로 실행이 되는 걸 통해서 사람이 잘 못하는 일을 기계에서 위임해서 자동화 할 수 있습니다. 그리고 그것을 해주는 이 컴퓨터 언어 중의 그 중에서 가장 유명한 언어 중의 하나가 자바입니다.

💙 IOT 라이브러리 설치하기

이제 만들어진 부품을 나의 프로젝트에 포함시키는 작업을 해보자.

  1. https://github.com/egoing/java-iot
    여기에서 프로젝트를 다운로드 합니다.
  2. iot 디렉토리에 이미 만들어진 자바 코드들이 있습니다. 여기 있는 코드들을 이용해서 사물을 자바로 제어하는 우리들의 프로그램을 만들어봅시다.
  3. 압축을 풀어줬으면 org로 시작되는 저 디렉토리를 우리의 프로젝트 폴더로 복사합니다.
  4. 그럼 보시는 것처럼 프로그래밍이라고 하는 저의 프로젝트 org - open tutorials - lot 그리고 기타 등등에 자바파일이 이렇게 잘 이동이 된 것을 볼 수 있습니다.

💛 IOT 프로그램 만들기

저 패키지 안에 있는 프로그램을 부품으로 사용해서 애플리케이션을 만들어 볼 거예요. 남이 만든 코드를 부품으로 나의 애플리케이션을 만들어가는 겁니다. 우선 내가 지금 하려고 하는 일이 뭐냐 그리고 그 일을 하기 위해서는 어떤 일이 시간의 순서에 따라서 일어나야 되냐 라는 것을 먼저 정리를 하셔야 합니다.
우선 Elevator.java 라고 하는 저 코드를 이용해서 제가 엘레베이터로 호출하는 코드를 짭니다.

import org.opentutorials.iot.Elevator;
public class OkJavaGoInHome {
public static void main(String[] args) {
// Elavator call 
		Elevator
		// Security off
		// Light on
		}
    }

org라는 패키지 밑에 opentutorials라는 패키지 밑에 iot라는 패키지 밑에 엘레베이터라고 하는 이거를 이용해서 엘레베이터로 호출 할겁니다. 맨 위에다가 import하고 엘레베이터라고 하는 이 클래스를 불러옵니다.

import org.opentutorials.iot.Elevator;
public class OkJavaGoInHome {
public static void main(String[] args) {
// Elavator call 
		Elevator myElevator = new Elevator("JAVA APT 507");
		// Security off
		// Light on
		}
    } 

myElevator은 변수입니다. myElevator라는 변수는 반드시 Elevator라는 데이터 타입의 해당되는 데이터만 올 수 있습니다. 여기있는 엘레베이터라는 데이터 타입이라는 뜻입니다.

import org.opentutorials.iot.Elevator;
public class OkJavaGoInHome {
public static void main(String[] args) {
// Elavator call 
		Elevator myElevator = new Elevator("JAVA APT 507");
		myElevator.callForUp(1);
		// Security off
		// Light on
	    }
    }

myElevator.callForUp(1); 이 코드는 엘레베이터를 1층으로 호출하는겁니다. 나는 위로 올라 갈거다 하고 하는 의미를 가지고 1층으로 호출 해야 되기 때문에 1층으로 엘레베이터 보네 라고 엘레베이터한테 명령하는 겁니다.

import org.opentutorials.iot.Elevator;
import org.opentutorials.iot.Lighting;
import org.opentutorials.iot.Security;

public class OkJavaGoInHome {
public static void main(String[] args) {
// Elavator call 
		Elevator myElevator = new Elevator("JAVA APT 507");
		myElevator.callForUp(1);
		// Security off
		Security mySecurity = new Security("JAVA APT 507");
		mySecurity.off();
		// Light on
		Lighting hallLamp = new Lighting("JAVA APT 507 / HallLamp");
		hallLamp.on();
		Lighting floorLamp = new Lighting("JAVA APT 507 / floorLamp");
		floorLamp.on();
		}
    }

이젠 시큐리티를 끌 건데 mySecurity에서 점을 하면은 제가 사용할 수 있는 여러가지 명령들이 있습니다. 저렇게 괄호로 시작해서 괄호로 끝나는 것을 메소드라고 합니다. 이젠 불을 킬 건데 제가 라이트 라고 하고 ctrl+Space를 치면 라이트 라는 이름의 부품들을 보여줍니다. 그중에 우리가 쓰려던건 org.opentutorials..iot 라는 패키지에 속해있는 라이팅 이라는 클래스를 더블클릭 해주면 자동으로 완성해줍니다.

import org.opentutorials.iot.Elevator;
import org.opentutorials.iot.Lighting;
import org.opentutorials.iot.Security;
public class OkJavaGoInHome {
public static void main(String[] args) {
		String id = "JAVA APT 507";
// Elavator call 
		Elevator myElevator = new Elevator(id);
		myElevator.callForUp(1);
		// Security off
		Security mySecurity = new Security(id);
		mySecurity.off();
		// Light on
		Lighting hallLamp = new Lighting(id+" / HallLamp");
		hallLamp.on();
		Lighting floorLamp = new Lighting(id+" / floorLamp");
		floorLamp.on();
		}
}

하나 거슬리는 건 ("JAVA APT 507") 이 부분이 중복이 되는데 이런것들은 스트링 id는 이렇게 해주면 아이디를 어디다가 이렇게 적용이 됩니다. 동작은 똑같지만 중복이 제거가 됐고 이것만 바꾸면 나머지 것들을 한방에 바꿔주는 편리한 기능입니다.
스마트폰의 앱이라든지 또는 스마트와치 라든지 웹이라든지 또 데스크탑 애플리케이션이라는 이러한 좀 더 편리한 플랫폼 위에서 자바로 동작하는 이런 코드를 짜게 된다면 우리의 삶이 훨씬 더 윤택해 질 겁니다. 그리고 이것을 통해서 우리가 알 수 있는 것은 요렇게 프로그래밍을 통해서 일을 자동화 시킬 수 있겠구나 라는 것을 우리가 음미해 볼 수 있는 코드입니다.

profile
backend developer

0개의 댓글