danc
danc*dev
danc
  • 분류 전체보기
    • codestates_BE_bootcamp39
      • 주단위 일기
      • 회고
    • programming
      • JAVA
      • SPRING
      • GENERAL
      • LINUX
      • ALGORITHM
      • ERROR_HANDLING
    • web
      • NETWORK
      • DB
      • HTML
      • CSS
    • kr
    • nz

최근 글

인기 글

태그

  • 코드스테이츠 백엔드
  • AOP
  • 일기
  • 회고
  • 윈도우 11 우분투
  • HTTP
  • TIL 일기
  • React에서 Authorization헤더
  • css
  • TIL
  • 코드스테이츠
  • TIL일기

최근 댓글

티스토리

hELLO · Designed By 정상우.
danc
programming/JAVA

JAVA

JAVA
programming/JAVA

JAVA

2022. 5. 4. 08:38

 

Java의 특징 

  • Object Oriented Programming (객체지향 프로그래밍)
  • 국내에서 백엔드 시장에서 정말 많이 쓰인다. 
  • 함수형 프로그래밍 지원 (람다식, 스트림 등)
  • 자동 메모리 관리 (Garbage Collector로 메모리를 수동으로 관리해야 하는 c나 c++ 와는 달리 자동으로 메모리 관리)
  • 운영체제에 독립적 (java 파일을 어느 운영체제 에서나 실행 가능 - JVM의 역할) 

 

JVM? JVE? JDK?

JVM (Java Virtual Machine) 은 말 그대로 자바를 가상공간에서 실행시키는 도구로써, 컴파일러의 역할을 하는 javac가 Java파일을 JVM이 이해할 수 있는 bytecode (. class 파일)로 변환한 것을 운영체제에 맞는 기계어로 변환시키는 역할을 한다. 따라서 어느 OS에서 실행을 하던 그 환경에 맞춰 변환을 해주기 때문에 실행할 수 있다.

JVE(Java Runtime Environment)는 통상 일반 사용자들이 자바 파일 실행을 위해 설치하고 (마인크래프트처럼) 위에 말한 JVM + 표준 클래스 라이브러리가 포함되어있다.

JDK(Java Development Kit)는 위의 JVE (JVM + 표준 클래스 라이브러리) + 개발에 필요한 도구로 이루어져 있다. JDK는 현재 Oracle에서 나온 Orcale JDK가 있고 오픈소스인 OpenJDK가 있다. 


클래스 (Class) 

 

자바는 OOP이기 때문에 모든 코드(객체의 구조)를 클래스 내에 작성한다. (이 객체들의 집합인 클래스들을 가져와서 코드를 조립한다고 보면 될 것 같다.)

main method (메인 메서드)

method는 class 내부에 정의된 함수로서 특정 작업을 위한 명령문을 모아놓은 집합체이다.

접근 제어자 리턴타입 메서드명 (매개 변수) // Method Signiture 
{
	바디
}

==============================================================

Public static   void      main     (String[] args)
접근   제어자  리턴타입  메서드명      매개 변수
{
	System.out.println("Hello World!");
    			  바디
}

자바를 실행하면 main() 메서드를 가장 먼저 찾게 되고 그 안에 있는 코드를 순차적으로 실행하게 되고, 전부 완료되면 프로그램을 종료한다. 따라서 main () 메서드 안에 있지 않는 코드는 컴파일 과정에서 에러를 발생시킨다. 

 

접근제어자 (Access Modifier)

위에 상기했듯이, 자바는 객체지향 프로그래밍 언어 (OOP)이므로 여러 클래스를 가져다가 쓰게 되는데 이때 접근 제어자를 통해서 특정 클래스의 변수와 메서드를 다른 클래스에서 참조할 수 없도록 혹은 참조하도록 지정할 수 있다.

접근 제어자는 4가지의 권한을 설정할 수 있다. 일반적으로 public과 private 접근 제어자를 많이 사용한다.

public 모든 접근 허용
protected 같은 패키지(폴더)에 있는 객체와 상속 관계의 객체들만 접근 허용
default 같은 패키지(폴더)에 있는 객체들만 허용
private 같은 클래스 내에서만 허용 

 

static 

클래스는 객체들의 집합체이므로 클래스 내부에 작성된 코드들은 그 객체들을 정의하는 코드이다. 특정한 경우에 객체가 아니라 클래스 본인을 위한 내용물이 필요할 때가 있는데 이때 static을 사용한다. 따라서 static은 변수나 메서드가 객체에 포함된 것이 아닌, 클래스에 속한 것임을 지정하는 키워드이다.

 

return / void

c/c++의 함수를 공부했을 때 함수가 끝날 때 결괏값을 어떤 식으로 반환할지 함수를 정의하는 단계에서 설정한다. 자바에서도 마찬가지로 메서드는 리턴할 값의 type을 지정해줘야 한다. 딱히 작업만 수행하고 결과를 return 할 필요가 없으면 void를 쓰고, return 값이 필요하면 리턴 값의 type을 정하면 된다. 

 

저작자표시 (새창열림)

'programming > JAVA' 카테고리의 다른 글

Java - Type  (0) 2022.05.04
Java - 변수 / 상수 / 타입변환  (0) 2022.05.04
Java - [문자열] StringTokenizer  (0) 2022.05.04
Java - [문자열] StringBuilder / StringBuffer  (0) 2022.05.04
Java - [문자열] String  (0) 2022.05.04
  •  
  • Java의 특징 
  • JVM? JVE? JDK?
  • 클래스 (Class) 
'programming/JAVA' 카테고리의 다른 글
  • Java - 변수 / 상수 / 타입변환
  • Java - [문자열] StringTokenizer
  • Java - [문자열] StringBuilder / StringBuffer
  • Java - [문자열] String
danc
danc
Backend 개발자를 목표로 공부 중 입니다.

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.