본문 바로가기

Dev.BackEnd/JAVA

[JAVA] 1. Java 기초적인 문법 / 코드 구성요소




Chapter 1. Java 기초적인 문법 / 코드 구성요소

컴퓨터 사이언스 공부를 시작할 때,
C가 운영체제, 네트워크와 같은 기초적인 과목들이라면
웹이라는 분야에서의 JAVA도 그 기초와 같다.

그 시작,
이클립스(Eclipse)
JAVA를 프로그래밍하기 위해 필요한 도구 중 하나인 IDE의 일종이다.
package Explorer :  프로젝트 관리
Outline : 문법적인 요소들을 시각적으로 보여준다. 자신이 필요한 것을 빠르게 찾을 수 있도록 도와준다.
Problem : 에러 상황 보고
Console : 말 그대로 콘솔창
그리고 가운데 Editor!
프로젝트를 만들고, 패키지를 생성하고, 클래스를 생성하여 컴파일을 하게 되면, 워크스페이스(WorkSpace)에 두 개의 폴더가 생성된다.
bin : binary의 약자 .class 라는 파일이 저장됨

src : source 의 약자 .java 라는 파일이 저장됨

(JAVA가 구동되는 원리는 JVM에 대한 설명과 함께 나중에 할 예정이다.)




상수와 형변환(Type Casting)
상수
상수는 이름이 없기 때문에 메모리에 저장된 상수의 값을 변경할 수 없다.
상수를 리터럴이라고도 한다.

타입 캐스팅은 지정한 값 뒤에 접미사를 붙여서 한다.

자동 형변환(Implicit Conversion)
데이터 손실이 발생하는 경우에는 작동되지 않는다.
예를 들면 double형에 5(정수)를 입력하는 것은 int 형으로 자동으로 변경되지만
int형에 6.5(실수)를 입력하는 것은0.5라는 손실이 발생하기 때문에 컴파일 에러가 발생한다.
그래서 자동형변환 규칙이 존재한다.

명시적 형변환(Explicit Conversion)
int num = (int)3.15;
자동 형 변환 규칙에 어긋나는 상황이지만 형 변환이 필요한 경우에는 명시적 형 변환을 통해 형 변환을 할 수 있다.
이 경우 소수점 이하의 데이터가 잘려나간다(손실 발생)
하지만 컴파일 에러는 발생하지 않는다.
7/3 = 2출력
7.0f/3.0f = 2.33333출력

(float)7/3 = 2.33333출력(7이 float으로 형 변환이 되고(명시적) 3이 float으로 자동 형 변환된다. 



변수

클래스 변수, 인스턴스 변수, 지역변수 세 종류가 존재한다.

class Variables
{
  int iv;
  static int cv;

  void method(){
    int lv = 0;
  }
}

iv 이 인스턴스 변수가 되고, cv가 클래스변수(static 변수, 공유변수)가 된다.

그리고 지역변수 (local 변수)가 lv이다.

인스터스 변수는 인스턴스가 생성되었을 때, 생성되고,

지역 변수는 변수 선언문이 실행되었을 때, 생성된다.

하지만 클래스 변수는 클래스가 메모리에 올라갈 때, (컴파일될 때) 생성되어 메모리에 상주하게 된다.

이 변수에 대해 생명주기, 어느 메모리에 올라가는지 등에 대해서 자세히 알아야한다.

JVM구조로 포스팅으로 이동하기

3장에서 static 메소드와 함께 다시 한 번 다룰 것이다.


Chapter 1. The End