본문 바로가기
우당탕탕 개발생활/_Java

[JAVA 기초]자바(java)의 특징, 식별자, 클래스 알아보기

by J-2n 2020. 7. 1.

안녕하세요

 

이번 포스팅의 주제는 가장 기초가 되고 지루한 자바의 특징을 알아보겠습니다.

아무래도 저는 자바를 이용한 프로그래밍은 좋아하지만

이상하게도 이론에 대해서 공부하면 잠이 오는지.. 하하..

하지만 뭐든지 기초가 탄탄해야 하는법 특징에 대해서 알아보겠습니다.

또한 식별자의 정의 규칙이라던지 식별자도 함께 알아보겠습니다.



  • 자바의 특징

플랫폼의 독립성

 : 컴퓨터 운영체제(윈도우, 리눅스 등) 별로 환경이 다르므로 해당 운영체제에서 돌아갈 수 있는 환경이 필요. 윈도우 환경에서는 구동되지만 리눅스에서 실행하면 동작 환경이 달라 구동되지 않음 하지만 자바로 구현한 프로그램은 어떤 운영체제에서든지 수정 없이 사용 가능하다.

 

객체지향 프로그래밍(OOP)

: 자바를 대표하는 특징이기도 합니다. 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.
 
장점
1. 코드 재사용이 용이하다.
  : 다른 클래스를 가져와서 이용할 수 있고 상속을 통해 확장하여 사용 가능
2. 유지보수가 비교적 쉽다.
  : 절차 지향 프로그래밍에서는 코드를 수정해야할 때 일일이 찾아 수정해야하는 반면 객체지향 프로그래밍 에서는 수정      해야 할 부분이 클래스 내부에 멤버 변수 혹은 메서드로 있기 때문에 해당 부분만 수정할 수 있다.
3. 대형 프로젝트에 적합하다.
  : 클래스단위로 모듈화시켜서 개발할 수 있으므로 대형 프로젝트처럼 여러면, 여러회사에서 개발이 필요할 시 업무 분담      하기 쉽다.
 
단점
1. 처리속도가 상대적으로 느리다.
2. 객체가 많으면 용량이 커질 수 있다.
3. 설계 시 많은 시간과 노력이 필요하다.
 
키워드
1. 클래스 + 인스턴스(객체)
2. 추상화
3. 캡슐화
4. 상속
5. 다형성
 

가비지 컬렉션

 : C/C++ 같은 언어는 메모리에 무언가를 생성 하면 프로그램이 끝나기전에 소멸자를 호출하여 메모리에 생성된 무언가를 반드시 소멸해야 한다. 왜냐하면 이렇게 해야 컴퓨터가 갑자기 다운되는 현상이 나타나지 않기 때문이다.
하지만 자바에서는 메모리 영역 중 더이상 사용될 수 없거나 참조되지 않은 영역을 모아 다시 사용할 수 있게 해준다. 
즉, 자바 언어 차원에서 메모리에 생성된 무언가를 자동으로 소멸 시켜 준다.
 
 

멀티스레드

 : 스레드(thread)란 프로그램의 수행 단위를 뜻한다. 멀티스레드(Multi Thread)란 하나의 프로그램에 동시에 여러개의 일을 수행할 수 있도록 하는 것을 뜻한다.

 


  • 식별자란

 : 클래스, 인터페이스, 변수 등을 구분할 수 있는 이름이다. 

  이름은 구분이 될 수 있어야 하기에 서로 중복되지 않는 것을 사용한다.

 

식별자 정의 규칙

1. 특수문자, 공백은 식별자로 사용 불가능 하다.

2. 한글 사용 가능 하다.

3. 자바 언어 키워드는 사용 불가능 하다.

4. 첫번째 문자로 숫자 사용 불가능 하다.

5. 자바에 등록되어 있는 키워드 사용 불가능 하다.

예약어 / 자료형

6. 유니코드 문자 사용 가능 하다.(한글가능)

7. 공백 불가능 하다.

8. 문자, 숫자, ‘_’, $’ 사용가능 하다. (첫문자로는 대체로 사용하지않음)

9. 길이 제한이 없다.

10. 대소문자 구분 된다.

 


  • 클래스란

 : 속성과 동작을 통해서 하나의 객체 (Object)를 만들기 위한 틀과 같은 것 이다.

   클래스를 만들고자 하는 객체를 디자인한 설계도면과 같은 것 이다. 

   클래스를 생성하면 객체가 만들어지는 것 이다.

 

객체란

 : 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른것과 식별 가능한 것이다.

 

클래스명 정의 규칙

1. 첫 문자는 항상 대문자로 표현한다.

2. 하나 이상의 단어가 모여 클래스명으로 지정될 때는 단어의 첫 문자들만 대문자로 표현한다.

Ex)

3. Testclass라고 해도 컴파일 하는데 전혀 지장은 없지만 개발자들끼리 편의를 위해 약속한 규칙으로 ‘카멜 표기법’이라고 한다.

 

 


제일 중요한 기초 중의 핵심 자바의 특징을 알아보았습니다.

자바가 객체 지향 프로그래밍이 가능하다고 하는데 실질적으로 장점과 단점을

알아두면 앞으로 도움이 될거라고 생각합니다.

또한 앞으로 여러 식별자를 사용하면서 식별자의 정의 규칙 또한 알아 두시면

실제 프로그래밍에서 도움이 될 것 입니다.