[JAVA] 맛보기_1

thx4all·2023년 7월 31일

Java

목록 보기
1/8
post-thumbnail

▶︎[JAVA]맛보기 포스팅는 유튜브 '생활코딩'의 JAVA1 수업을 수강하며 기록했다.

초급자는 문제해결을 잘 하지 못한다. 그럼에도 문제해결에 도움을 주는 도구를 모른다.
중급자는 문제해결을 잘한다. 그럼에도 문제해결을 위한 많은 도구를 가지고 있다. (자립의 중요성)

점점 더 스스로 공부하고 답을 찾아가야 하는 만큼 성장을 위한 도구를 배워가는 시간이 되었으면 좋겠다.

2~3번 영상과 함께 JDK와 이클립스를 설치 완료했다.(MacOS)

[새로운 클래스 생성 설정하기]


표시한 부분을 체크하면 코드 작성을 위한 기본 형식이 자동으로 출력된다.
그런데, 매번 지워야 하는 // TODO Auto-generated method stub 주석이 불편해서 자동생성 안하는 방법을 찾아봤다.

  1. 이클립스 상단메뉴 Eclipse - Settings
  2. Java - Code Style - Code Templates - Code - Method body 를 누른뒤 - Edit
  3. 아래 그림에서 표시된 부분 삭제 - OK, Apply and Close

그런데 이클립스 자동완성 단축키(ctrl+space bar)가 맥북에서는 잘 안된다!
-> 이클립스 상단메뉴 Eclipse - Settings - General - Keys - Content Assist 를 선택하여 Binding 칸에 어떤 단축키로 사용할지 수정할 수 있다. 난 opt+space bar로 설정했다.

4.1 실행 - HelloWorld

코딩 공부의 시작을 알리는 HelloWorld 출력 프로그램 만들기

public class HelloWorldApp {

	public static void main(String[] args) {
		System.out.println("Hello World!!");
	}

}

앞으로 나는 프로그램을 만들 때, main(String[] args) 뒤에 오는 중괄호 안에 코드를 작성하게 된다.
코드 작성이 완료되면 저장(컴파일) 후 실행한다.

*컴파일: 사람이 작성한 코드(.java)가 컴퓨터가 알아들을 수 있는 코드(.class)로 변환되어 생성된다.

4.2 실행 - Java의 동작원리

작성된 source(=code =language)에 따라 application(=program)이 실행된다.
Java코드로 짜여진 프로그램을 실행하기 위해서는 Java Virtual Machine(JVM)이 필요하다.

여기서 JVM, JRE, JDK에 대해 잠시 알아보자.

1. JVM(Java Virtual Machine)

자바와 운영체제 사이의 중개자 역할을 하는 소프트웨어로,
운영체제 종류에 구애받지 않고, 자바에서 만들어진 바이트코드(.class)파일을 실행할 수 있도록 도와준다.JVM은 운영체제마다 다르다.

2. JRE(Java Runtime Environment)

자바 실행환경의 약자로 자바 프로그램을 실행하기 위한 도구들(라이브러리, API)와 JVM실행에 필요한 라이브러리 파일, 기타 파일들이 있다.

3. JDK(Java Development Kit)

자바 개발 도구의 약자로 개발자들이 사용할 만한 도구들의 모음이다.
개발시 필요한 라이브러리들과 javac(컴파일러), javadoc 등이 있다.

참고링크: https://blog.naver.com/gyuwix7730/223106876913

5.a~c 코딩을 통한 가능성 엿보기

코딩을 통해 원하는 프로그램을 만들 수 있다는 기대감을 갖는 것은 매우 중요하다.

코드를 작성하여 Hello world를 모니터에 출력한 것을 시작으로, 이번 순서에서는 자바를 통해 할 수 있는 일들의 가능성을 느낄 수 있는 아주 간단한 몇가지 사례를 구경할 수 있었다.
프로그램을 만드는 방법을 알려주기보다는 이런 일도 '가능하다'라는 것을 보여주기 위한 수업이었다.

<데스크탑 애플리케이션: 새로운 창에 Hello World!!를 띄우는 프로그램>
나중에 좀 더 공부한 후에 코드를 이해할 수 있도록 일단 첨부해둬야겠다.

import javax.swing.*;   
import java.awt.Dimension;
import java.awt.Toolkit;
public class HelloWorldGUIApp{
    public static void main(String[] args){
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame frame = new JFrame("HelloWorld GUI");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setPreferredSize(new Dimension(800, 300));
                JLabel label = new JLabel("Hello World!!", SwingConstants.RIGHT);
                frame.getContentPane().add(label);
                Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
                frame.setLocation(dim.width/2-400/2, dim.height/2-300/2);

                frame.pack();
                frame.setVisible(true);
            }
        });
    }
}

<사물에 작은 컴퓨터(칩 등)을 연결 -> IOT>
어떻게 구현이 가능한지 가장 간단한 예시를 볼 수 있다.
'라즈베리파이'라는 소형 컴퓨터 칩에 키보드/모니터/전원을 연결하여 코드를 작성하고, 실행하면 코드에 표시된 특정 위치(GPIO 중에서)에 전류가 흐르면서 LED을 통해 MOS신호로 'Hello'를 표현할 수 있었다.

<안드로이드 애플리케이션 만들기>
나중에 안드로이드 애플리케이션을 개발하게 되면, android development documentation라는 안드로이드 개발 안내 문서를 확인하게 될 것이다.
첫 앱 빌드하기를 따라 첫 앱을 만들게 될텐데, android studio라는 개발도구를 사용하면 편하다. 작성한 프로그램이 시각적으로 어떻게 나타나는지 디자인을 확인하는 방법과 실제 모바일에 어떻게 보여질지 가상으로 구현해보는 방법도 구경해보았다.


느낀 점

쓸만한 좋은 프로그램(애플리케이션)을 만드는 것은 많은 공부가 필요하고 잘하기는 매우 어렵다. 하지만 아무리 복잡한 일도 그 본질 자체는 단순하다.
개발 도구를 마련하고, 자바/컴퓨터 언어를 익히고, 자바를 이용해서 어떻게 실제 프로그램을 제어하는가를 공부하면 개발을 할 수 있게 될 것이다.

앞으로 개발 공부를 하면 할수록 끝이없고 상상보다 더 어렵겠지만, 이 단순한 본질과 기대감, 가능성을 잊지않고 어떤 순간에도 포기하지 않길 바라본다. 어차피 배움에는 끝이 없으니까,,

profile
세상의 온도를 높일 개발자 도전기

1개의 댓글

comment-user-thumbnail
2023년 7월 31일

정리가 잘 된 글이네요. 도움이 됐습니다.

답글 달기