본문 바로가기
프로그래밍/JAVA

[20240708]JAVA (1) 메모장으로 코딩하기, 이클립스 다운로드, 기본 설정 및 단축키, 코딩글꼴 변경, 화면에 간단한 윈도우 띄우기

by moo-ti 2024. 7. 9.
반응형

 

cmd창에서 메모장으로 자바 프로그래밍 하기

 

 

프로그래밍을 시작할 폴더 경로로 이동해서 메모장을 만든다.

파일의 이름은 HelloJava로 만들기로 하고 확장자도 같이 적는다.

 

 
파일이 없다면 새 파일을 만들겠냐는 팝업이 나온다.
새 파일을 만들어서 메모장에서 자바 프로그래밍을 시작할 수 있다.

 

 

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

 

간단하게 Hello World! 를 화면에 출력해 본다.
 

 

 

 
cmd 창으로 돌아와서 dir로 디렉토리를 확인해보면 작성한 Hello.java 파일을 확인할 수 있다.
 
 

 

javac H 까지 치고 Tab쓰면 javac Hello.java가 뜨는데 Enter누르면 Hello World! 가 출력된 것을 확인.
 

 

 
public class Hello{
public static void main(String[] args){
	System.out.println("Hello World! 한글은?");
	}
}
내용을 조금 수정 해서 다시 확인해보자.

 

 

java Hello.java 를 다시 입력하면 Hello World! 한글은? 이 실행된다.

 

 
 

 

JAVA 프로그래밍에 대해 간단히 맛을 봤으면 본격적으로 IDE를 설치해서 프로그래밍을 해보자.

다음은 이클립스 설치부터 초기 셋팅 과정이다.

 

이클립스 다운로드

- 오라클에서 java 하나하나 받아 쓰는 것보다 이클립스에서 받아서 사용하는 것이 더 편리하다.

 

 

 

2024년 7월 기준,
전자정부프레임워크 개발 버전을 기준으로 2023-12 버전을 다운로드 받았다.

 

 

 

 

설치가 완료되면 우측 상단을 확인해보자.

오른쪽 상단 위에 커피콩모양이 있다. 그 옆에 Open Perspective를 클릭한다.

 

 

 

 

개발할 형태를 고를 수 있다. 순수 java는 JAVA.

JAVA를 선택하면 Persperctive가 생긴다. 

 

 

 

 

 

코딩 글꼴 설치하기

 

 

 

Window - Preferences - General - Appearance - Colors and Fonts - Text Font

 

네이버에서 무료로 배포하는 코딩 글꼴이 있다.

이클립스에서 다운로드한 폰트로 변경한다.

이 부분은 필수는 아니지만 기존 이클립스의 세리프체보다 깔끔해서 좋은 것 같다.

 

 

 

 

Preferences에서 추가적으로 확인해볼 곳은 

General - Workspace 에서 Text file encoding 을 확인한다.

만약 실무에서 다른 프로젝트 받아왔는데 한글이 안되면 이쪽을 확인해보고 만약 UTF-8로 안되어있다면,
 UTF-8로 변경해주면 한글로 됨.
 
 
 

 

 

자동완성 같은 확장 프로그램은 Eclipse Marketplace에서 설치할 수 있다.
그럼 비쥬얼 코드 작성이 편리할 수 있음.
설치 안하고 넘어간다.
 

 

 

 

자바 프로젝트 만들기

 

 

현재는 연습 단계이므로 모듈은 체크 해제해준다.

만약 체크해제 해주지 않더라도 나중에 삭제하면 됨.

 

 

 

내가 만든 파일은 src에 들어가고 배포할 파일(class)는 bin 폴더에 들어간다.

 

 

 

 

 

 

src 폴더에 HelloWorld 클래스를 만든다.

 

 

* 주의사항

 - 무조건 클래스를 만들어야 실행되며 클래스명은 파일명과 반드시 같아야 한다.

- 클래스 명 표기법은 파스칼 표기법으로 표기한다.

 

 

 

 

클래스가 생성된 것을 확인할 수 있다.

 

 

 

만약 main이 없어도 main쓰고 ctrl + space 누르면 만들 수 있음.

 

ex) syso -> System.out.println();

 

 

 

 


 
 
public static void main(String[] args)

 

main은 모든 프로그램의 시작점.
static 은 자동적으로 메모리에 올라간다는 뜻이다.
대문자로 시작하는 것은 class 이다.
소문자로 시작하는 것은 메소드이다. (main, println, ...)
메소드는 카멜 표기법으로 표기한다.

 

 

 

public class HelloWorld{

	public static void main(String[] args) {

		System.out.printf("%30s", "Hello World!1");	// 출력 모양, 출력 내용

		System.out.print("Hello World!2");

		System.out.println("Hello World!3");

	}

}

 

 

printfprint format과 같다.

%30s는 30만큼 공백을 주고 스트링을 출력한다는 뜻이다.

 

 

 

클래스, 메소드, 필드의 구분을 잘 할 줄 알아야된다.

 

 

 

 

예제1) 현재 날짜/시간 출력 하기

import java.time.LocalDateTime;		



// 클래스 이름이 길 경우에 클래스 이름의 첫 글자만 대문자로 쓰고 ctrl + space

		// LDT : Local Date Time

		System.out.println(LocalDateTime.now());
import java.time.LocalDateTime 의 클래스를 가져다가 쓴다는 뜻.
클래스에서 잘 모르겠을 경우 클래스에서 F3 눌러서 상세 내용 확인 가능하다.

 

 

출력 결과

 

 

 

예제2)  형식 바꿔서 현재 날짜/시간 출력하기

import java.time.LocalDateTime;	

import java.time.format.DateTimeFormatter;		



 // mm : 분 MM : 월

		// (EEEE) : 월요일 EE : (월)

		System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yy-MM-dd(EEEE) hh:mm:ss")));

 

출력 결과

 

 

 

 

패키지명 지정

 

 

새로운 클래스를 생성하면서 package name을 준다.
다른 것들과 충돌이 일어나지 않도록 해야하는데,
도메인 네임은 전 세계적으로 겹치지 않기 때문에 패키지 네임은 도메인네임을 거꾸로 쓰는 것이 규칙이다.

 

클래스 명이 같아도 패키지명이 다르면 만들 수 있다.

 

 

package kr.co.choongang;



import java.time.LocalDateTime;

import java.time.format.DateTimeFormatter;



public class Hello {

	public static String now() {

		return LocalDateTime.now().format(DateTimeFormatter.ofPattern("yy-MM-dd(EEEE) hh:mm:ss"));

	}

}
별도의 Hello 클래스를 만들어서 HelloWorld 메인함수에서 호출해서 사용할 수 있다.

 

 

 

 

 

예제) 난수 뽑는 프로그램 만들기

 

 

Random 클래스를 이용해서 난수를 뽑아낼 수 있다.

뽑아낸 난수는 distinct() 로 중복값을 제거하고, limit(n)으로 몇개 뽑아낼지 설정하고, sorted()로 정렬하여 

foreach로 6번 반복해서 출력한다.

 

 

 

 

// String, System 과 같은 자주 쓰는 프로그램은 자동으로 import 되어 있다.

//import java.lang.*;

 

Random함수를 쓸 때는 import java.util.Random 을 임포트하는데,
String이나 System은 임포트가 되어있지 않다.
이유는 자주 쓰는 프로그램이기 때문에 따로 적지 않아도 자동으로 임포트한다.
 

 

 

 

API 문서작성용 주석

 

/**
 API 문서 작성용 주석
 */

 

 

 

 

태그도 붙어있다. 이 문서 자체가 html이 될 수 있다.

 

 

 

 

 

 

예제) 간단한 윈도우 화면 만들기

package kr.co.choongang;



import javax.swing.JFrame;



public class MyWinApp {

public static void main(String[] args) {

	JFrame win = new JFrame("내가 만든 윈도우");

	win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 닫으면 윈도우 닫기

	win.setSize(500, 500);								// 500 * 500 사이즈로 만든다.

	win.setLocationRelativeTo(null); 					// 프레임 위치 설정 - 화면의 정 가운데

	win.setVisible(true);								// 화면에 보일지 말지를 결정한다.

	}

}

 

 

 

 

 

 

 

** 자주 쓰이는 단축키

 

ctrl + alt + 방향키 : 위 내용 복사
 
alt + 방향키 : 해당 라인을 이동
 
ctrl + f11 : Run 프로그램.java
 
ctrl+shift+o : 패키지 및 클래스를 자동 임포트해준다.
 
ctrl+shift+f : 코드 자동 정렬
 
ctrl + / : 한줄 주석
 
ctrl + shift + / : 여러줄 주석
 

ctrl + space : 자동 완성

 

 

 


 

자바 클래스 도움말 참고 자료

 

 

중간의 번호는 API 버전이다.

 

자바에서 사용하는 모든 클래스들의 도움말 링크
 
 

 

 
반응형