IDE/Eclipse

자바 기초_자바 설치(환경 설정), 유용한 단축키, 표기법, 변수

개발계발게발 2021. 5. 17. 17:19
반응형

* 자바의 역사

1991년 6월 썬마이크로시스템즈의 제임스 고슬링(James Gosling)이 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어.

가전제품에 내장될 소프트웨어 플랫폼을 만들자는 Green팀 프로젝트에서 시작 객체지향언어(Object Oriented Language)중 하나. 한 번 쓰고 어느 곳에도 실행(Write Once, Run Anywhere) JRE(Java Runtime Environment)를 설치하여 사용 자바 가상머신(Java Virtual Machine)을 통해 실행 2006년 11월 13일 GPL 라이선스로 소스를 오픈

 

  • 1995년 자바 1.0발표 1.2부터 J2SDK/J2RE라고 부르기도 함.
  • 2006년 1.3버전부터 java2(Java EE, Java ME, Java SE) 분류
  • J2SE 5.0(1.5버전)에서 1.6버전부터 JAVA SE 6형태로 명명
  • 2009년 4월 20일 오라클로 인수합병
  • 2014년 3월 14일 Java8 발표
  • 2017년 9월 31일 Java9 발표
  • 2018년 3월 20일 Java10 발표
  • 2018년 9월 25일 Java11 발표 → openJDK와 oracleJDK 코드 동일시 oracleJDK                                                                                       → 구독형 유료로 전환 향후 10년간 서비스 지원 (LTS)
  • 2019년 3월 19일 Java12 출시
  • 2019년 9월 17일 Java13 출시
  • 2020년 3월 17일 Java14 출시
  • 2020년 9월 15일 Java15 출시
  • 2021년 3월 16일 Java16 출시
  • 2021년 9월 14일 Java17 출시 예정

 

객체지향 VS 절차지향

 

 

자바개발도구(JDK), 자바실행환경(JRE)

 

 

JAVA 실행과정

* JAVA의 특징

 

• 문법이 단순하다

• C나 C++에서 프로그래머에게 많은 혼란을 주는 요소(전 처리, 포인터, 구조체, 공용체, 다중상속 등)을 제거

• 객체지향 언어(Object Oriented Language)

• 추상화, 캡슐화, 상속, 다형성 등과 같은 특성을 완벽하게 지원함 • 플랫폼 독립성(Platform Independence)

• 소스코드(.java) 컴파일을 바이트 코드(.class) 생성

• 바이트 코드는 JVM(Java Virtual Machine)통해 실행

• Write Once, Use Anywhere • 메모리 자동 관리(Garbage Collection)

• 보안성

• 바이트 코드 실행 전에 보안에 위배되는 요소가 있는지 여 부를 미리 검사

• 쉬운 예외처리, 멀티스레드, 네트워킹, 분산 시스템 구축

 

* 자바로 할 수 있는 것

• 자바어플리케이션(Java Application)

  PC등에서 단독으로 실행할 수 있는 응용프로그램

• 자바 서블릿 (Java Servlet)

  웹 서버에서 실행되는 서버 프로그램 웹서버와 DB서버를 연동

• JSP (Java Server Page)

  자바코드와 HTML을 결합. 웹서버에서 실행되고 결과만 전송

• 모바일응용프로그램

  안드로이드, 임베디드 등

 

JAVA 설정(경로설정)

어디에서나 java를 사용할 수 있도록 경로를 등록

내컴퓨터 -> 속성(R)

시스템 -> 고급시스템설정

고급 -> 환경변수(N)…

환경 변수 설정

 

* JAVA 문법

JAVA 문법

 

 

* Eclipse 구성

Eclipse 구성

 

* 이클립스 단축키

  • Ctrl + SPACE 단축키 호출

    EX)  main + (Ctrl + SPACE)  
  • public static void main(String[] args) { }
  • EX)  syso + (Ctrl + SPACE)
  • System.out.println();
  • Ctrl + F11 프로그램 실행 
  • F3 : 선언 변수 확인     
  • Ctrl + O : 메소드 리스트 보기 
  • Ctrl + Shift + O : 사용된 모든 패키지를 자동 import
  • Ctrl +마우스 커서 (또는 F3) :클래스, 메소드, 또는 멤버를 검색 
  • 커서를 코드 올김 열에 놓고 Alt키를 누르고 방향키(위, 아래)로 : 한줄씩 옮기기
  • 커서를 코드 복사 할 열에 놓고 Ctrl +Alt키를 누르고 방향키(위,아래) : 한줄 복사
  • 커서를 코드 삭제 할 열에 놓고 Ctrl + D : 한줄 제거 :
  • Ctrl + Shift + R : 자원찾기
  • Ctrl + H : 찾기
  • Ctrl + Shift + F : 자동정렬  -> 에러가 없을때만.
  • Alt + Shift + R  - 동일 변수 이름 모두 변경
  • Ctrl + 변수 클릭 - 변수가 선언된 위치로 이동

Setter 메소드 자동생성
Alt + Shift + s --> Generate Getters and Setters 선택

 

* 변수

  변수는 하나의 값을 저장하는 공간, 불러 올 수 있는 공간

  기본타입

  Primitive Data Type

  • 정수 타입 : byte, short, int, loing
  • 실수 타입 : float, double
  • 문자 타입 : char
  • 논리 타입 : boolean


변수 타입 선언시 효율 고려 하여 선언 (범위 고려)

변수 타입 범위

 

* 참조타입 Reference Date Type

  객체 배열 .....

  그리고 직접 만든 클래스

 

* 식별자(Identifier)

  모든 프로그램 구성 성분에 붙인 이름 변수, 상수, 패키지, 메소드, 인터페이스 등에 붙이는 이름

  1. 문자와 숫자로 구성한다. 대문자와 소문자는 구분된다.

  2. 첫 글자는 반드시 문자여야 한다.

  3. 특수 문자는 사용할 수 없지만 유니코드문자,.숫자, 밑줄문자(_), 통화기호($)등을 사용한다.

  4. 예약어는 사용할 수 없다.

 

* 예약어

자바에서 프로그램구동을 위해 사전에 등록해 놓은 단어

 

abstract, boolean, break, byte, case, catch, char, class, continue, default, do, double, else, Extends, false, finally, float, for, If, implements, import, instanceof, int , interface, long, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw / throws, true, try, void, while.....

 

 

* 기본 cmd 명령어

  • cd ..      (상위 디렉토리)
  • cd pro + tap키 ( pro 시작 폴더 찾아줌)
  • cd java  (폴더 내 java 폴더 경로 이동)
  • md temp -> (temp 폴더 생성)
  • copy con Hello.java(파일 생성)
  • ctrl + c(중지)
  • dir  - 디렉터리
  • javac Hello.java    -javac(컴파일)
  • java Hello -java(실행)

* JAVA 주석 처리 방법

// - 한 줄 주석 처리  - 라인 주석

/*
~
*/    - 블럭 주석

/** 문서 주석

 

* JAVA 표기법

파스칼 표기법 (Pascak Notation : Pascal Case)

파스칼 표기법은 첫 글자를 대문자로 구성하며 단어가 합성될 때 마다 각 단어의 첫 글자를 대문자로 표기하는 방법
자바에서는 클래스의 명명 규칙인 첫 글자를 대문자로 한다는 규칙에 캐멀 표기법이 합쳐진 형태이다.


ex) class MainTitle     class CircleTest     class UserStatus


언더스코어 표기법(Underscore Notation : Underscore Case : 밑줄 표기법)

(Underscore = Underline)
주로 데이터베이스 쪽이나 자바스크립트 쪽에서 지역 변수를 사용할 경우에

언더바를 사용하는 언더스코어 표기법을 사용


ex) content_name     user_data

 

카멜 표기법(Camel Notation : Camel Case : 낙타 표기법)

 

카멜 표기법은 두 단어 이상의 변수명을 표현할 때 두 번째 단어부터 첫 글자를 대문자로 표기하는 방법. 
변수의 명명규칙(Naming Rule)인 첫 글자를 반드시 소문자로 한다는 규칙과 캐멀 표기법이 합쳐진 네이밍 
캐멀 표기법은 자바에서 시작된 것으로 변수명 혹은 클래스명을 작성할 때 단어마다 단어의 첫 글자를 대문자로 표기

ex) addData     rainbowColor     userName

- 클래스 이름

     : 맨 앞 글자를 대문자로 한다.

       두 번째로 오는 의미있는 단어의 앞 글자도 대문자이다.



   ex) public class MyClass{}     //--(○)

       public class Myclass{}      //--(Χ)



 - 변수 이름

     : 맨 앞 글자를 소문자로 한다.

       두 번째로 오는 의미있는 단어의 앞 글자는 대문자이다.



   ex) String myName;             //--(○)

       String MyName;              //--(Χ)



 - 메소드 이름

     : 맨 앞 글자를 소문자로 한다.

       두 번째로 오는 의미있는 단어의 앞 글자는 대문자이다.

       (변수 이름의 명명법과 동일한 방법)

       단, 메소드의 이름은 가급적 동사로 시작할 수 있도록 명명하는 것이 좋다.



   ex) public String createMyName() {}        //--(○)

       public String createmyname() {}         //--(Χ)

       public String myName() {}                //--(동사가 아닌 명사라 추천하지 않음)


헝가리언 표기법(Hungarian Notation : Hungarian Case)

헝가리언 표기법은 Microsoft 사의 Charles Simonyi 라는 프로그래머가 만들었다고 한다.

그가 코딩할 때 습관적으로 즐겨쓰던 접두어 변수 명명 방식이 빌게이츠의 눈에 띄어 표준화(일반화)된 것이라 한다.

변수를 표기할 때 앞에 접두어로 쉽게 알아볼 수 있도록 표기하였는데 이를 통해 자료형을 쉽게 알아볼 수 있다.

ex) int nNum        float fNum

argument of String → args

       Data Type       Prefix       Example

       -----------       ---------    ---------

       boolean          b            bContinue

       int                 n            nIndex

       short              n            nNum

       char               c            cFirstInitial

       String             s(str)       sCustomerName(strCustomerName)

※ 실제 자바 프로젝트는 클래스는 파스칼 표기법 사용 
변수나 메소드의 이름은 카멜 표기법으로 사용
 간혹 오래된 프로젝트를 유지보수 하다보면 헝가리언 표기법으로 네이밍된 프로젝트도 있다.

 

 

/* 자바의 이름 만들기
 * 코딩을 하다 보면 많은 이름을 만들어 사용해야 한다.
 * 클래스 이름, 메소드 이름, 변수 이름 등등등...
 * 공통적인 이름 명명방법
 * 
 * 1. 사용 가능한 문자
 * 영어 대문자, 소문자, 숫자, 특수문자는 (_, $) 2개 사용 가능
 * 
 *  EX) _Hello, $Hello 가능
 * 
 * 2. 클래스 이름 규칙 파스칼 표기법
 * 대문자로 시작.
 * 숫자가 앞에 올 수 없다.(숫자 시작X) 
 *  한 단어 이상의 단어 조합이라면
 *  새로운 단어 첫글자는 대문자로
 * 
 *  EX) Hello, HelloKorea
 * 
 * 3. 메소드, 변수 이름 규칙 카멜 표기법
 *  첫글자는 소문자로 시작
 *  숫자가 앞에 올 수 없다.
 *  한 단어 이상의 조합이라면
 *  뒤에오는 단어 첫글자는 대문자로
 * 
 *  EX) hello, hello2, hello2bye, helloKorea
 * 
 * 4. 상수  스네이크 표기법
 *  모든 단어를 대문자로
 *  한단어 이상일 경우에는 _(언더바)로 연결
 * 
 *  EX) HELLO, HELLO_KOREA
 * 
 * 
 * 
 */

반응형