본문 바로가기

Java

[Java] Java에 대하여

Java의 탄생

인터넷 발전과 함께 다양한 기기나 운영체제들이 등장하지만, 당시 C, C++와 같은 언어는 운영체제마다 코드가 다르게 동작하는 문제를 안고 있었다.

그 결과 개발자들은 각 운영체제에 맞는 별도의 코드를 작성해야 했고, 이는 개발 시간과 비용을 증가시키는 원인이 된다.

 

Write once, run anywhere
(한 번 쓰면, 어디서든 실행된다.)

 

이 문제를 해결하기 위해 자바는 한 번 작성된 코드가 어떤 플랫폼에서도 실행될 수 있도록 설계된 객체지향 프로그래밍 언어이다.

 

Java의 특징 1. 플랫폼 독립성

Java의 플랫폼 독립성을 이해하기 위해서는 JDK를 알아야 한다. JDK는 Java 프로그램을 개발할 때 필요한 개발 도구 모음이며 여러 가지 구성 요소들  아래의 2개가 대표적이다.

 

1) Javac(Java Compiler) - 자바 컴파일러

    자바컴파일러는 Java 파일을 바이트코드(. class)로 변환해 준다.

 

2) JVM(Java Virtual Machine) - 자바 가상 머신

    바이트코드를 해석하고 자바 프로그램을 실행시키는 역할을 한다. JVM을 통해 동일한 바이트코드는 어떤 환경에서도 동일하게 실행될 수 있다.

 

Java의 특징 2. 객체지향

자바는 객체 중심으로 모델링하는 객체지향 프로그래밍 언어로, 관련 있는 데이터와 기능을 하나의 클래스로 묶어 관리한다.

 

※ 객체 vs 클래스

  비유 설명
객체(object) 설계도를 기반으로 만들어진 존재 클래스에서 만들어진 존재
클래스(class) 설계도 객체를 만들기 위한 정의

 

Java 프로젝트 관리

Java 프로젝트를 잘 관리하기 위해서는, 협업과 가독성을 고려해 위해 폴더명과 파일명을 짓는 규칙을 지키는 것이 좋다.
정해진 규칙을 따르면, 프로젝트 구조가 더 명확해지고 유지보수가 쉬워진다.

  • 카멜케이스(camelCase 🐫) : 대문자가 혹처럼 튀어나온다. (firstName, lastName)
  • 스네이크케이스(snake_case 🐍) : 언더스코어가 뱀처럼 이어진다. (first_name, last_name)

 

1) 패키지 이름 규칙

    Java에서 패키지명은 소문자만으로 적는 것을 권장한다.

  • 소문자만 사용(권장) (chapter1)
  • 숫자로 시작 금지 (X 1chapter)
  • 특수문자 사용 금지  (X chapter#1)
  • 예약어 사용 금지  (X class, X public, X staic)

 

2) 클래스 이름 규칙

     클래스 이름을 작성할 때는 첫 글자 대문자 + 카멜케이스 조합으로 작성한다. (Pascal case)

  • 대문자로 시작 (MyClass)
  • 카멜케이스
  • 숫자로 시작 금지 (X 1MyClass)
  • 특수문자 사용 금지  (X My#Class)
  • 예약어 사용 금지  (X Class, X Public, X Staic)