JAVA/Study

[0126] 1. 프로그래밍 이론 및 자바 기본 실습 (개발환경구축)

1) 개발 환경 구축

1.1 JDK 설치 및 환경 설정.

    - 오라클 회원가입, JDK 1.8버전 다운로드 및 설치

    - https://www.oracle.com/kr/java/technologies/javase/javase-jdk8-downloads.html

    - 내컴퓨터 > 속성 > 고급시스템설정 > 환경변수 > 시스템 변수 에서 새로 만들기

    - 이름: CLASSPATH, 값 : .;

    - 이름: JAVA_HOME, 값 : C:\Program Files\Java\jdk1.8.0_281    (JDK 설치 경로)

    - 시스템 변수 에서 path 클릭 후 편집 > (새로만들기) %JAVA_HOME%\bin > 확인

    - 기존 CMD창 종료 후 재실행. javac 명령어 입력하여 환경변수 설정 확인

1.2 자바 통합 개발툴(IDE) : 이클립스, 넷빈즈와 같은 개발 도움 툴을 사용

  - 넷빈즈 다운로드: https://netbeans.org/downloads/old/8.2/

    - java SE : 순수한 자바를 개발 (다운로드)

    - java EE : 자바 웹 개발

    - 컴파일러 : java,c,c++

      └ 인간이 작성한 명령어, 문법을 기반으로 작성한 프로그램을 기계가 인식할 수 있도록 번역하는 과정

    - 인터프리터, JIT : java,jsp, python,php,asp

      └ 명령어, 문법을 기반으로 작성한 프로그램을 실시간 기계가 인식할 수 있도록 통역(해석)하는 과정      

1.3 넷빈즈(NetBeans)에서 자바 프로그램 실행하기

    - 프로젝트, 패키지, 클래스 만들기, 컴파일 및 실행.

    - Project창에서 우클릭 > New Project > Java App 선택 > Project Name 입력 후 Finish

    - Project 우클릭 > New > Java Package > Package Name 입력 후 Finish

    - Packages 우클릭 > New > Java > New Class > Class Name 입력 후 Finish

    - 클래스를 만드는 규칙 (식별자 규칙) : 대문자로 시작한다!!!

      └ 숫자,특수문자 등으로 시작할 수 없다, $ : 내부클래스 예약어

​1.4 자바의 특징.

    - 운영체제에 독립적이다.(이식성)

    - 객체 지향이다.(재사용성에 맞게 클래스를 설계이다.)

    - 캡슐화(정보은닉), 다형성, Pojo 등 으로 객체지향적인 프로그램을 설계

    - 클래스는 다른 클래스와 관계를 가진다.

    - ( has a : A란 클래스가 B란 클래스를 사용하기 위해서 참조하는 관계

    - is a : 상속관계, 부모를 자식이 확장하는 관계 )

    - 메모리를 자동으로 관리(GC) 힙(Heap) 영역에 생성되는 객체

    - 멀티 스레드(Multi-Thread) 쉽게 구현 가능

​    - 소켓 통신이 쉽게 구현이 가능하다.

1.5 자바의 실행 흐름

​    - [javac 클래스] > [java(jvm)] > 클래스 안의 main메서드를 찾아서 호출

​    - ​자바의 모든 연산은 JVM(자바 가상머신) 에서 이루어진다.

​​    - 클래스 영역, 메서드 영역 , 변수 > 지역변수 (소스코드 상세설명 참조 Ex1_Variable )


소스 코드

package ex1;

public class Ex1_Variable {
    // Variable : 값을 저장할 수 있는 메모리의 공간을 의미한다.
    // 변수는 하나의 값을 저장한다.
    // 변수에는 자료형을 가지고 선언 한 후 초기화해서 사용한다.
    // 자바에서는 변수를 선언 할때 반드시 자료형을 선택해서 선언해야 한다.
    public static void main(String[] args) {
        // local block - 메인 메소드 영역
        // 지역 변수 선언 *****
        // step1) 선언한다.
        // [자료형] [변수명];
        // step2) 지역 변수는 반드시 초기화해서 사용해야 한다.
        int num1 = 0;

        // 변수를 출력해보기
        System.out.println(num1);
        System.out.println("실행1!");
        
        // 대입 연산자 =
        // A = B , A에 B를 대입한다. (대입연산자)
        // 선언은 오직 같은 영역에서 한번만 한다.
        num1 = 100;
        // 변수를 출력해보기
        System.out.println(num1);
        System.out.println("실행2!");
        
        String str = new String("aa");
        
        // 문자열 저장 "문자열 값"
        // 참조자료형 변수 : 문자열의 주소값을 저장한다.
        String name = "홍길동";
        System.out.println("나의 이름은 : " + name);
        System.out.println("나의 점수는 : " + num1 + "점");
    }  
}
package exam;

// int -> 정수를 저장하기 위해서 자료형
// String -> 문자열을 "....."; 저장하기 위해서 자료형 변수로 선언
// java_0126 과제 : 자료형과 변수명 작성 후 값을 대입하여 출력하기.
public class Exam {
    // main 메서드 선언.
    public static void main(String[] args) {
        
        // 이름 변수를 문자열로 선언하며 초기화한다.
        String name = "";
        
        // 나이 변수를 정수형으로 선언하며 초기화한다.   
        int age = 0;
        
        // 허준의 프로필 값을 변수들에게 대입해준다.
        name = "허준";
        age = 29;
        
        // 대입된 허준의 프로필을 출력해준다.
        System.out.println("그의 프로필");
        System.out.println("이름 : " + name);
        System.out.println("나이 : " + age + "세");
        
        // ==================================
        // 안녕하세요. 나의 이름은 허준입니다.
        // 허준의 프로필을 시작하겠습니다.
        // 이름 : 허준
        // 나이 : 29
        // 29세 이기 때문에 저는 성인입니다
        // ==================================
        // 작업순서
        // 1. main 메서드를 정의한다
        // 2. main 메서드 영역 안에 변수를 선언 및 초기화 한다.
        // 3. 변수를 사용한다
    }    
}