Java

[Java] Java의 설치와 기본 개념

Rosie_dev 2021. 1. 9. 21:03

개발환경 만들기


자바 JDK 8 다운로드

자바 API

이클립스 다운로드

 

for Java Developers는 용량이 적고, 자바프로그램만을 활용해서 작업하기에 좋다.

for Enterprise Java Developers는 웹기반 다른 JS 등 프로그램의 작업도 병행하는 프로젝트를 생각하고 있는 경우 다운로드 진행한다.

 

 

cmd를 통한 자바설치를 확인

창 내용 지우는 명령어 cls, 디렉토리 확인 dir, 위치변경 cd

 

 

Java 기본구성


1. 패키지 선언문

      패키지란 클래스가 저장되어진 디렉토리 경로라고 보면 된다   package 패키지명;      

 

 2. import 문

     import java.lang.*;           //* 모든 것

     import java.util.Date;

     본적으로 import java.lang.*; 이 생략되어져 있다

 

 3. 클래스 선언문

 

 4. 컴파일(comphile) 하기

      고급언어를 저급언어(기계어)로 바꾸어주는 과정 

      아스키코드 ASCII 코드

      C:\Program Files\Java\jdk1.8.0_271\bin\javac.exe

 

 5. 실행하기

      C:\Program Files\Java\jdk1.8.0_271\bin\java.exe

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.*;
//import java.lang.System;
//파일이름과 클래스 명은 만드시 동일해야 한다. public은 접근제어자
 
public class HelloExam { 
//첫 글자는 대문자로 해야 한다
//또한 저장시 파일명도 클래스명과 동일하게 해야하며, 확장자.java 이다
//class body(클래스본체)는 { }로 끝난다
 
  public static void main(String[ ] args) {
           System.out.println("Hello World!");  
           System.out.println("안녕하세요?");   
           
           Date now = new Date();
           System.out.println("현재시각:"+now);  
 }    
}
 
cs

 

 

추상화


필요한 속성() 및 기능(Method)을 뽑아내는 것을 말한다. 
즉, 속성을 지닌 객체를 생성하고 해당 객체를 변수와 함께 메서드로 만들어 사용한다. 

 

변수의 종류   

메모리 공유여부에 따라 instance변수와 static변수로 구분할 수 있다.   

instance변수: 실제 메모리를 사용하는 객체로 해당 객체만 사용할 수 있는 변수

static변수: 여러 객체들이 공용으로 공유할 수 있는 변수

 

자바에서 괄호 ()가 나오는 것

첫번째 생성자(constructor), 두번째 method에서 ()가 쓰임

void는 return 타입이 없다는 의미

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package my.day01;


public class Member {
/*
    만약에 쇼핑몰 프로그램 작성하고자 한다라면
    회원, 제품, 장바구니, 주문내역 부품이 필요할 것이다.
     여기서 필요로 하는 부품의 설계도면을 "클래스"라고 보면 된다.
 */
    // ***추상화 ==> 필요한 속성 및 기능을 뽑아내는 것을 말한다. == 메서드를 만든다.
    // 회원가입(병원) ==> 신장,혈액형, 몸무게, 혈압
    // 회원가입(쇼핑몰) ==> 아이디, 비밀번호, 성명, 이메일, 전화번호, 주소, 마일리지...
    // attribute == property == field == 속성
    
//1). instance 변수
//    서로 다른 instance끼리 공유하지 못하고 각자 단위의 인스턴스에서만 사용하는 것이다.
//    인스턴스는 클래스가 메모리(RAM)에 올라가서 실제 사용가능한 객체로 되어진 상태를 말한다.
//    인스스턴스 변수를 다른 말로 non static 변수라고도 한다.
    String id;    //String은 문자열을 뜻하는 클래스(자료형)
                  //id라는 변수(변하는 수)에는 문자열의 들어온다는 뜻이다.
    String pwd;   //비밀번호
    String name;  //성명
    String email; //이메일
           
    //id, pwd, name, email 인스턴스 변수라고 부른다.


    
//2).static 변수    
// static 변수는 동일한 클래스로 생성되어진 서로 다른 instance들끼리 공유하는 변수이다
    static String address;   //공유변수 이탤릭체
    
/*    behavior == 행위 == 기능 == method(메서드)


    자바에서 괄호 ()가 나오는 것은 오로지 2개 밖에 없다. 
    첫번째 생성자(constructor)에서, 두번째로 method에서 ()가 쓰임.
    static 메서드에는 인스턴스 변수가 올 수 없다, 공유하기 때문에
*/
//    회원의 정보를 조회해주는 기능을 만들어 봅니다.
    void showInfo() {
    //void는 return 타입이 없다는 말이다.
        System.out.println("=== 회원정보 ===\n "
                + "1. 아이디: "+id+"\n "
                + "2. 암호: "+pwd+"\n "
                + "3. 성명: "+name+"\n "
                + "4. 이메일: "+email);
        // \n이 줄바꿈을 말한다.
        // 문자열 사이의 +는 문자열 결합을 뜻한다.
    }
    
}
Colored by Color Scripter
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package my.day01;


//import my.day01.Member
//동일 패키지 속에 있는 클래스는 import 안해도 된다


public class Main {


    //콘솔프로그램의 실행은 main() 메서드에서 실행한다.
    public static void main(String[] args) {
                      //실제 작동하는 것은 main 메서드
        //1명의 새로운 회원이 필요하다
        Member lssmbr = new Member();  
        //이순신 lssmbr을 Member 클래스의 객체(==인스턴스)라고 부른다.
        lssmbr.id = "leess";
        lssmbr.pwd = "abcd";
        lssmbr.name = "이순신";
        lssmbr.email = "leess@naver.com";
//        lssmbr.address = "서울시 마포구";
        Member.address = "서울시 마포구";    
//      static 변수는 클래스명.static 변수명으로 사용한다.        
        
        //1명의 또 새로운 회원이 필요하다
        Member eomjhmbr = new Member();      
        //엄정화  eomjhmbr을 Member 클래스의 객체(==인스턴스)라고 부른다.
        eomjhmbr.id = "eomjh";
        eomjhmbr.pwd = "qwer1234";
        eomjhmbr.name = "엄정화";
        eomjhmbr.email = "eomjh@gmail.com";    
//        eomjhmbr.address = "경기도 군포시 오금로";


        System.out.println(lssmbr);            //my.day01.Member@15db9742    @ 다음은 16진수로 된 메모리(RAM) 상의 주소값
        System.out.println(eomjhmbr);          //my.day01.Member@6d06d69c


        System.out.println("lssmbr 객체의 성명: "+lssmbr.name);
        System.out.println("eomjhmbr 객체의 성명: "+eomjhmbr.name);


//        System.out.println("lssmbr 객체의 주소: "+lssmbr.address);
//        System.out.println("eomjhmbr 객체의 주소: "+eomjhmbr.address);
        System.out.println("Member 클래스로 생성되어진 객체들이 공유해서 사용하는 주소: "+Member.address);
    
        //static 변수는 공유해서 쓰는 공간
        
        //lssmbr 인스턴스에 대한 회원정보 조회하기
        lssmbr.showInfo();
        
        System.out.println("");
        
        // eomjhmbr 인스턴스에 대한 회원정보 조회하기
        eomjhmbr.showInfo();
    }


}


Colored by Color Scripter
cs

'Java' 카테고리의 다른 글

19 [인강] 자바의정석 ch09  (0) 2021.01.12
[Java] Scanner문, 유효성 검사  (0) 2021.01.11
[Java] 생성자, 형변환(casting), 연산자(operator)  (0) 2021.01.07
[Java] 데이터와 변수  (0) 2021.01.07
Java 별찍기 문제  (0) 2021.01.03
댓글