728x90

 

JAVA1 - 12.4 직접 컴파일하고 실행하기 : 라이브러리 사

cmd

OkJavaGoInHome.java 입력

import org.opentutorials.iot.Elevator;

→ 의미 : org 밑에 opentutorials 밑에 iot 밑에 Elevator 불러 상태. Elevator 치면 이녀석인 . OkJavaGoInHome.java 같은 디렉토리에 있는 org폴더에 opentutorials폴더에 iot폴더 안에 있는

     - import '불러오다'라는 뜻

     - org부터 iot까지 패키지라고 부름

 

개념정리

Elevator.java 컴파일하면 Elevator.class파일이 생기고, 클래스 파일을 로딩하는 코드가 import org.opentutorials.iot.Elevator; 이것. 이런 절차로 Elevator 사용할 있게 된다

 

-classpath = -cp

 

이렇게 다른 라이브러리를 끌어와 쓸 때 필히 경로지정이 필수인데 이 경로가 변경될 경우 로딩시 에러난다.

어떻게 해결할까?

여기서 찾아주세요 하는게 --class-path 또는 -cp

(현재 디렉토리에서도 찾아야 하니 .이라고 치고, 윈도에서는 ;세미콜론으로 구분하고 ,리눅스에서는 :콜론)

 - 새경로 지정 & 컴파일 명령어 : javac -cp ".;폴더명" 파일명

 - ex) javac -cp ".;lib" OkJavaGoInHome.java

 

위의 경우 lib폴더 같은 경로에 있으면 찾아지나 lib폴더 밑에있다면 에러뜬다. lib 안에 있다고 명시적으로 컴퓨터한테 알려줘야한다

 - java -cp "lib" OkJavaGoInHome : 명시적으로 "lib"이라고 해줘야 lib에서만 찾게됨. 같은 디렉토리에서는 찾지않음

 - java -cp ".;lib" OkJavaGoInHome : 현재디렉토리라는 의미의 .; 추가

 

 

※ 소프트웨어는 혼자 만드는게 아닌 다른 사람들이 만든 라이브러리들 이용해서 나의 소프트웨어를 만들어가는 것이기에 다른 사람들이 만든 라이브러리 살펴보는 것은 견문을 넓히는 중요한

 

 

 


 

 

JAVA1 - 12.5 직접 컴파일하고 실행하기 : 입력과 출력

컴파일시 입력값을 줘서 입력값에 따라서 다르게 동작하는 프로그램을 어떻게 실행시킬지 알아볼

 

javac OkJavaGoInHomeInput.java 컴파일하면 OkJavaGoInHome.java class파일이 생기고,

파일이 쓰는 다른 class파일들도 자동으로 컴파일 된다

 

args 프로그램의 입력값을 받는 녀석

args 같아야함

들어오는 값은 args[0] 두번째 값은 args[1] 써서 가져올 있음

 

*첫째값과 두번째값을 주는 방법

첫번째값, 두번째값 표시는 띄어쓰기

cmd 명령어 : java OkJavaGoInHomeInput "Java APT 507" 15.0

                                                        (첫번째값)    (두번째값)

메커니즘

첫번째값 Java APT 507 args[0]으로 들어가서 String id String타입 id값이 되고,

두번째값 15.0 args[1] 들어가서 String bright String타입 bright 값이 되는

 

그럼 id bright 들어가 있는 아래의 Elevator(id), Security(Id) 등에 변수로 한번에 적용되는 메커니즘이다

 

 

cmd에서 인수(args) 넣을 첫번째값,두번째 값을 아래처럼 바꾸면 된다

 

 

 

 

 

728x90
반응형
728x90

[자바의 정석 - 기초편] ch1-8,9 첫 번째 자바프로그램 작성

 

1.javac.exe : 자바 컴파일러

사람이 작성한 문장을 기계어로 번역

소스파일(*.java) 클래스파일(*.class) 변환

 

2.java.exe : 자바 인터프리터

자바 프로그램(클래스 파일) 실행

 

3.클래스(class) : 자바 프로그램의 단위

자바 프로그램은 클래스들로 구성됨

{ 열고 } 닫아서 클래스의 첫과 끝을 구분해준다.

모든 문장은 {}안에 있어야함

 

ex)

class 클래스이름 {

내용

}

 

 

 

4.main메서드 : 자바 프로그램의 시작점

메서드 없이는 실행불가

메인 메서드를 찾아서 문장의 첫번째부터 실행함

 

ex)

class 클래스이름 {

public static void main(String[] args) {main메서드의 시작

} main메서드의

}

 

 

 

 

 

728x90
반응형
728x90

017. 객체지향 언어(OOP, Object-Oriented Programming)란?  - 기본 구성 요소 -

 

 

출처 : 위키백과

 

 

일단 구성요소에 대해 알아보기 전에 객체지향(Object-Oriented)에 대해 한번 알아보자.

 

객체지향이라는 개념이 나타나기 이전의 프로그래밍 방법에서는 사람이 컴퓨터에게 프로그램이 뭘하고 그 다음에 뭘하고 명령을 주는 식으로 컴퓨터가 하는 일을 하나씩 알려주기 바빴다고 한다. 그러나 객체지향 프로그래밍(OOP)이 등장하고부터 프로그램을 작성할 대상이 되는 실제 세계의 사물(객체)을 그대로 표현하고, 그것들이 어떻게 움직이는지 정해주고 나서 그 객체들에게 일을 시킨다고 한다.

 객체지향 프로그래밍을 잘 사용하면 보다 좋은 프로그램을 빨리 만들 수 있고, 나중에 수정하기도 편해진다고 하며, 프로그래밍 언어들이 모두 객체지향적인 것은 아니지만 요즘에 주로 사용되는 것들은 객체지향을 제공하는 것이 많다고 합니다. 객체지향을 개념을 몰라도 간단한 프로그램을 짤 수 있지만, 윈도우나 복잡한 프로그램을 짤 때는 큰 도움이 된다고 한다.
(출처:https://wikidocs.net/84)

 

파이썬은 객체지향적 언어라고 한다. 다만 데이터분석이나 통계 쪽으로 많이 활용되고 있어

객체 간의 작용하는 프로그래밍보다는 사용자정의 함수들을 많이쓰므로 그리 느껴지지 않을 수 있다고한다.

 


 

이제 '객체지향(Object-Oriented)  언어'가 무엇인지 이해하기 위해서는 먼저 기본 구성요소를 알아보자

 

객체지향 언어의 3가지 기본 구성요소는 

클래스(class), 객체(object), 메소드(method)이다

 

1.클래스(class)

같은 타입의 그룹에 속하는 속성(attribute)과 동작(behavior)을 정의한 것

 

2.객체(object)

클래스의 인스턴스가 실제로 메모리에 할당된 것
 - 클래스에서 정의된 내용을 실행하며 객체 자체의 속성을 가지고 있다

 

3.메소드(method)

클래스로부터 생성된 객체를 사용하는 방법

 - 객체의 속성을 조작하는데 사용되며, 객체간의 통신은 메세지를 통해 이루어진다.

 

 

*개념 자체들이 한마디로 정의되기 어렵고, 내용이 복잡하고 방대하여 일단 간단하게 다루고

추후에 차차 계속 다뤄보기로 하자. 기초튼튼하게!!

728x90
반응형

+ Recent posts