본문 바로가기

kh정보교육원 JAVA

KH정보교육원 강남지점 JAVA 18일차 중 내용 정리 1 - 자바란?, 자바 설치 및 환경 설정, 이클립스 설치, 프로그래밍 순서(코드 쓰는 방법(패키지, 클래스, 메소드))

  •  프로그래밍 의미 

프로그램(Program) : 컴퓨터가 인식할 수 있는 명령어의 나열(집합)

 

프로그래밍(Programming) : 프로그램을 작성하는 과정 = 코딩

 

프로그래머(Programmer) : 프로그램을 작성하는 사람

 

프로그래밍 언어 : 프로그램을 작성하기 위한 언어체계, 사람이 컴퓨터와 소통하게 하는 요소

 

 

자바 언어 특징

1. 운영체제에 독립적(이식성이 높음)

2. 사용하기 쉬운 언어

- 다른 언어의 단점 보완(포인터, 메모리 관리)

- 객체 지향 언어

- 능률적이고 명확한 코드 작성 가능

3. 자동 메모리 관리(Garbage Collection)

4. 네트워크와 분산환경 지원

5. 멀티스레드 지원

6. 동적 로딩 지원

 

JVM(Java Virtual Machine)

 : 자바를 실행하기 위한 가상 기계로 플랫폼에 의존적 byte code(class파일)를 해석하고 실행하는 interpreter

위의 그림을 설명하면

컴파일된 바이트코드를 jvm 각각의 os의 맞게 가동시킨다.

 

컴파일 : .java(자바언어를 사용해서 작성한 파일) -> 컴퓨터가 실행할 수 있는 .class(byte code) 변경  

 

  • 자바 개발 환경

JDK : 자바 개발 도구의 줄임말로, 자바로 프로그램을 개발할 수 있는 실행 환경(JVM)과 개발 도구(컴파일러)등을 제공한다.

→ java(자바코드를)로 .class (바이트코드)로 바꿔주는 컴파일 해주는 환경이 jdk 안에 있으며

→ 우리는 개발하기 위해 jdk가 필요하다.

  • 자바 설치

*1.8기준으로 자바 환경 설정 설명

1. Open JDK 1.8 다운로드(https://github.com/ojdkbuild/ojdkbuild 접속

2. Downloads for Windows x86_64 (1.8.0_292-1 클릭하여 다운로드)

C:\Program Files\Java\openJDK1.8 폴더를 만들고 압축 풀기

  • 자바 설정(환경 변수)

‘내 PC’ 오른쪽 클릭 - 속성 -> 고급시스템 설정 -> 고급 - 환경변수

  • 이클립스 설치

1. 이클립스 다운로드 홈페이지(www.eclipse.org/downloads/)

2. 최신 버전이 아닌 이전 버전을 찾기 위해 Download Packages 클릭

3. 오른쪽 MORE DOWNLOADS에서 Eclipse 2020-03(4.15) 클릭(아래 사진)

 

  • 자바 프로그래밍 순서

 


  • 패키지, 클래스, 메소드 

 

실행결과

 

주석 : 코드에 대한 설명이나 그 외 다른 정보를 넣을 때 사용 

 *코드를 쓰고 싶을 떄 
 1. 프로젝트 만들기 => 하나의 프로젝트가 하나의 프로그램
 2. 패키지(=폴더) 만들기 => 파일을 분류해서 관리함    -> .으로 하위폴더 만들기 
 3. 클래스 만들기 => 코드를 작성하기 위해 


클래스 : 자바에서 모든 코드는 반드시 클래스 안에 존재 
서로 관련 된 코드들을 그룹으로 나누어 별도의 클래스 구성 
클래스들이 모여서 하나의 Java application 구성 

(클래스 밖에는 아무런 코드를 쓸 수 없음 클래스 안에 메소드가 있는 것)

 

메소드 : 클래스의 기능(동작)에 해당하는 구현 부분으로   내가 하고 싶은 일을 작성하는 공간(어떠한 동작하고 싶을 때 동작하는 내용을 작성하는 부분)
해당 메소드 호출 시 메소드의 블럭({}) 에 해당하는 부분 실행 


항상 프로그램 시작 시 main 메소드에서 시작 
프로그램을 실행하기 위해 필요한 특수 메소드
하나의 Java Application에는 main 메소드를 포함한 클래스가 
반드시 하나는 있어야 함


public class A_MethodPrinter {

public void methodA() {
System.out.println("Method A가 호출 되었어요!");
methodB();  // 메소드b 부르기. 같은 공간에 있으니 인식 가능하기 때문에 그냥 호출 가능(그냥 불러도 인식함)  


public void methodB() {
System.out.println("Method B가 호출 되었어요!");
methodC();
}

public void methodC() {
System.out.println("Method C가 호출 되었어요!");
}

}

 

실행클래스

실행 결과


 

 <명명 규칙>
  1. 패키지 => 소문자로 시작 
  2. 클래스 => 대문자로 시작 
 3. 메소드 => 소문자로 시작 
 
 여러 개의 단어가 있을 때는 각 단어의 앞자리는 대문자로 표기 
 => 카멜 표기법 (낙타 표기법) 
 

public void printValue() {

 // 여러 가지 형태의 값을 출력하는 기능을 하는 메소드     
 // printValue가정의되어 있는 파일!

 // 1. 숫자 출력 
 System.out.println(123);  // 정수 
 System.out.println(1.23); // 실수  

 // 2. 문자 출력  => 홑따옴표(싱글 쿼테이션) 사용 
 System.out.println('a'); 
 System.out.println('b'); 

 // 3. 문자열 출력  => 쌍따옴표(더블 쿼테이션) 사용 
 System.out.println("안녕하세요.");
 System.out.println("반갑습니다.");

 // 4. 내부에서 연산 가능 
 System.out.println(123 + 456); 
 System.out.println(1.23 - 0.12); 
 // => 실수값 연산의 경우 불완전해서 오차 발생 가능(근사치가 저장) 

 

 // 5. 문자는 숫자와 연산 가능 
 System.out.println('a' + 1);
 System.out.println('a' + 2);
 System.out.println('b' - 1);
 System.out.println('가' + 1);
 // => 소문자 a는 유니코드로써 97이라는 수를 가지고 있음.  컴퓨터는 문자 -> 숫자로 치환 됨  

 // 6. 문자열("")과 숫자의 합 => 문자열 
 System.out.println("안녕하세요" + 1);
 System.out.println("반갑습니다" + 22 + 33);

 

 // 문자열과 숫자의 '+'연산
 System.out.println(9 + 9 + "9");
 System.out.println(9 + "9" + 9);
 System.out.println("9" + 9 + 9);
}

위와같이 실행클래스에서 메소드 호출하여 실행한 결과