Java
![[Java Study] 나만의 앱 만들기 - 입력값 도입](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FboO9aJ%2FbtrHDALrx0f%2FAAAAAAAAAAAAAAAAAAAAAGSrpYYD8V8vpNZsaSG2m2bBfUFwW8pnTNISw6dVNZ5U%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DWs80hDcBHcS5R5gAE7B3lebSxlc%253D)
[Java Study] 나만의 앱 만들기 - 입력값 도입
public class AccountingApp { public static void main(String[] args) { double valueOfSupply = Double.parseDouble(args[0]); double vatRate = 0.1; double expenseRate = 0.3; double vat = valueOfSupply*vatRate; double total = valueOfSupply+vat; double expense = valueOfSupply*expenseRate; double income = valueOfSupply-expense; double devidend2 = income*0.3; double devidend3 = income*0.2; double devide..
![[Java Study] 나만의 앱 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcpsXKP%2FbtrHDBQ41uL%2FAAAAAAAAAAAAAAAAAAAAAHQmRjFG0A6XyHs6C5Hd5G8zGyvYAZ8ZqNv5OafEx3vd%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DGwk8kdUlNzDEawveon5mEv2L5JI%253D)
[Java Study] 나만의 앱 만들기
public class AccountingApp { public static void main(String[] args) { double valueOfSupply = 12345.0; double vatRate = 0.1; double expenseRate = 0.3; double vat = valueOfSupply*vatRate; double total = valueOfSupply+vat; double expense = valueOfSupply*expenseRate; double income = valueOfSupply-expense; double devidend1 = income*0.5; double devidend2 = income*0.3; double devidend3 = income*0.2; Sy..
![[Java Study] 상속에 대하여](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FceETRv%2FbtrHCnyWyi8%2FAAAAAAAAAAAAAAAAAAAAAJDbzzVskXYSjB9x6cbbwk5iuiI4UxOhLueOY-kQFbBF%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3D553VcKrZQSkYuC%252BCG6J4rDzMqv8%253D)
[Java Study] 상속에 대하여
PrintWriter 클래스를 예시로 들어 보면 위 사진에서 보이는 것과 같이 PrintWriter 클래스는 Writer 클래스를 상속받고 있고, Writer 클래스는 Object 클래스를 상속받고 있다.(부모와 자식의 개념으로 이해하면 될 듯 하다.) PrintWriter클래스를 만들 때 Writer클래스가 가지고 있는 매소드를 상속받는다. 다 만들기 귀찮으니.. 인텔리제이에서 PrintWriter의 상속관계를 알고 싶다면 알고싶은 클래스를 클릭하고 Ctrl+H 커맨드를 입력해주면 된다. 이러한 상속 관계 덕분에 PrintWriter 클래스를 사용했음에도 불구하고 그 상위에 있는 상속자인 Writer과 Object 클래스 역시 사용 가능하다. toString 메소드가 처음 사용한 클래스에 포함되지 않았..
![[Java Study] 인스턴스에 대하여](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FczvfXj%2FbtrGUsaKMxN%2FAAAAAAAAAAAAAAAAAAAAAP6MBtafmr7k7sXV-tiEtYjwD93FM5OrZgBqWFmCFShC%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DNazWq0p40XISgfvR%252Byisl6gViMg%253D)
[Java Study] 인스턴스에 대하여
import java.io.FileNotFoundException; import java.io.PrintWriter; public class InstanceApp { public static void main(String[] args) throws FileNotFoundException { PrintWriter p1 = new PrintWriter("result1.txt"); //변수에 담겨있는 것은 PrintWriter 클래스의 인스턴스 p1.write("hello 1"); p1.close(); PrintWriter p2 = new PrintWriter("result2.txt"); //new를 통해서 인스턴스 생성. 긴 맥락의 작업일때 사용 p2.write("hello 2"); p2.close(); /..
![[Java Study] 자바 문서 보는 법 (패키지, 클래스, 변수, 메소드)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FSkUj3%2FbtrFUT2dEpd%2FAAAAAAAAAAAAAAAAAAAAAP9m_S15FGfNQRdL1z38lCCd8hqv5Em8JBgCXfHHDe0n%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DpAl3o7RfxpXj5cvOaSsyaV8amSQ%253D)
[Java Study] 자바 문서 보는 법 (패키지, 클래스, 변수, 메소드)
google에 api documentation java 혹은 https://docs.oracle.com/javase/7/docs/api/ Java Platform SE 7 docs.oracle.com 위의 링크로 이동하면 java가 기본적으로 제공하는 부품(라이브러리) 에 대한 설명을 볼 수 있다. 일단 Class -> 하나의 프로그램. 이라고 생각하자. 수학적인 연산을 하는 도구가 필요할 경우를 가정하고 math를 검색해보자. 제일 상단에 java.lang 부분은 math"클래스"가 소속돼있는 "패키지"(클래스들을 정리정돈하기 위함)이다. 실제로 패키지 리스트에서 찾아보면 java.lang이 존재한다. java.lang패키지 안에는 위 사진처럼 math클래스를 포함하여 봤을법한 클래스들이 존재한다. 클..
[Java Study] API와 UI의 개념
Program - 시간의 순서에 따라 실행된다 (시간) Application - java가 제공하는 부품을 응용 (응용) Application을 하기 위한 조작장치 -> Application Programming Interface (API) 이 결과물을 사람이 사용할 때 조작하기 위한 것 -> User Interface (UI)
![[Java Study] 입력과 출력](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FWdNDe%2FbtrFGSIUwLM%2FAAAAAAAAAAAAAAAAAAAAAKicyFGb51zqDDIBB_hUwDBsSlZ8Y_1_OA-ET_MApXxZ%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DCtASD8hMuclv8XiI5ax8xXFDId0%253D)
[Java Study] 입력과 출력
import org.opentutorials.iot.DimmingLights; import org.opentutorials.iot.Elevator; import org.opentutorials.iot.Lighting; import org.opentutorials.iot.Security; import javax.swing.*; public class OkJavaGoingHomeInput { public static void main(String[] args){ String id = JOptionPane.showInputDialog("Enter a ID"); String bright = JOptionPane.showInputDialog("Enter a Bright level"); // Elevator cal..
![[Java Study] 인텔리제이(intellij) 디버거 사용하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fb6aP4z%2FbtrFGzaei17%2FAAAAAAAAAAAAAAAAAAAAAMUHQsuKNcGm-ItHgp2qlC1x4XbNPICcM2TQowGYK64M%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DwqO3C%252Bbsz3LxUkGnG1wLV2XVoH4%253D)
[Java Study] 인텔리제이(intellij) 디버거 사용하기
버그를 잡기 위해, 혹은 프로그램 흐름을 살펴보며 데이터 값을 확인하기 위한 디버거 기능을 사용해보자. 디버그 모드에 진입하는 것은 Run -> Debug...로 시작한다. 줄 번호 옆에 마우스 왼쪽 버튼을 누름으로써 Break Point를 지정할 수 있다. 디버깅을 진행할 때 프로그램은 이 곳에서 멈춘다. 하단에 위치한 디버깅 툴에서는 다음 줄으로 넘기기, 다음 Break Point가 있는 곳 까지 프로그램 진행, 등등... 여러가지 기능들이 있고, 프로그램이 실행되며 데이터가 저장되는 구조, 어떤 변수에 무엇이 들어있는지 등등 구체적인 내부 과정을 알 수 있다.
![[Java Study] 간단한 IoT 구현하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbrZ2p9%2FbtrFhBVoNKn%2FAAAAAAAAAAAAAAAAAAAAAKmC3AUQCV1V5mvcfnXZh7w5_qzn4qMsJho7v6_TQq9r%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DCCbm4yt%252FEIcu5b%252B6FONYLm%252BOE68%253D)
[Java Study] 간단한 IoT 구현하기
import org.opentutorials.iot.Elevator; import org.opentutorials.iot.Lighting; import org.opentutorials.iot.Security; public class OkJavaGoingHome { public static void main(String[] args){ String id = "JAVA APT 507"; // Elevator call Elevator myElevator = new Elevator(id); myElevator.callForUp(1); // Security off Security mySecurity = new Security(id); mySecurity.off(); //Light on Lighting hallLa..
[Java Study] 데이터 타입의 변환 (Casting)
public class Casting { public static void main(String[] args){ double a = 1.1; double b = 1; double b2 = (double) 1; System.out.println(b); // int c = 1.1; // error! double -> int impossible double d = 1.1; int e = (int) 1.1; System.out.println(e); String strI = Integer.toString(1); System.out.println(strI.getClass()); } } 1.0 1 class java.lang.String 데이터 타입의 변환 (Casting)에 대하여 알아보았다. 주의할 점 몇가지만 ..