Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

기록

[JAVA] 자바 개요 본문

공부/JAVA

[JAVA] 자바 개요

aoieuo 2020. 7. 4. 17:08

<객체지향이란?>

: 실제 세계를 모델링하여 소프트웨어를 개발하는 방법론.

 

<객체(Object)란?>

: 보고 만질 수 있는 것, 지성적으로 이해할 수 있는 것.

-> 객체의 상태는 데이터에 의해 결정되고, 동작은 메서드에 의해 결정됨.

 

<JAVA의 특성>

1) OS에 독립적이다. : JVM에 의해 어떤 OS 상에서도 동작.

2) Object Oriented Programming Language: 오오피엘 오오피엘~

3) Garbage Collection 기능: 자동 메모리 관리

4) 네트워크 프로그래밍 가능 (C에서는 free해주던 거랑 상반되네요)

5) 분산처리에 유용

 

<JAVA Byte-Code>

The machine language for a hypothetical computer(or interpreter) called the Java Virtual Machine.

 

제가 만들었어요 ^_^ 힛


<변수>

- 변하는 수

- 하나의 값을 저장할 수 있는 기억 공간

- 데이터를 담는 그릇

 

<변수의 타입(Data Type)>

1) Primitive Type

- 문자: char

- 숫자

     정수: byte/short/int/long     실수: float/double- 논리: boolean

 

2) Reference type

- 기본형을 제외한 나머지(String, System 등)

- 객체의 주소를 저장(4 byte, 0x00000000~0xffffffff)

 

<Primitive Data type>

- 논리형: true/false

- 문자형: 문자를 저장하는 데 사용

- 정수형: 정수 값을 저장

- 실수형: 실수 값을 저장

  1 byte 2 bytes 4 bytes 8 bytes
논리형 boolean      
문자형   char    
정수형 byte short int long
실수형     float double

 

<Naming convention: 명명규칙>

1. 대소문자가 구분되며 길이에 제한이 없음: True와 true는 다름

2. 예약어를 사용할 수 없음: new, this, super, final 등

3. 숫자로 시작할 수 없음

4. 특수문자는 '_' '$'만 허용

5. 기타 권장 사항

    - 클래스 이름의 첫 글자는 항상 대문자

    - 변수와 메서드 이름의 첫 글자는 항상 소문자

    - 여러 단어 이름은 단어의 첫글자를 대문자

    - 실수의 이름은 대문자, 단어는 '_'로 구분

 

<변수, 상수, 리터럴>

- 변수(variable): 하나의 값을 저장하기 위한 공간

- 상수(constant): 한 번만 값을 저장할 수 있는 공간

- 리터럴(literal): 그 자체로 값을 의미하는 것

 

<변수의 기본값과 초기화>

- 변수의 초기화: 변수에 처음으로 값을 저장하는 것

- 지역변수는 사용되기 전에 반드시 초기화해야함

자료형 기본값
boolean false
char '\u0000;
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d 또는 0.0
참조형 변수 null

<문자와 문자열>

char ch = 'A';
char ch = 'AB'; //error
String s1 = "AB";
char ch = ''; //error
String s1 = "";
String s1 = "A" + "B";

char 형은 빈 문자열 선언이 되지 않는다. 그리고 String은 +연산이 가능하다.

 

<형변환 (Casting)>

- 형변환: 값의 타입을 다른 타입으로 변환하는 것

- boolean을 제외한 7개의 기본형은 서로 형변환이 가능

- 작은 크기 -> 큰 크기: 형변환 생략가능(byte -> int)

- 큰 크기 -> 작은 크기: 형변환 생략 불가능(int -> byte)

 

1) Upcasting : 작은크기에서 큰 크기로! 형변환 생략 가능

2) Downcasting: 큰 크기에서 작은 크기로! 형변환 생략 불가능

 

 


<연산자 (Operator)>

- 연산자(Operator)

 : 어떠한 기능을 수행하는 기호(+,-,*,/ 등)

 

- 피연산자(Operand)

 : 연산자의 작업 대상(변수, 상수, 리터럴, 수식) eg. A+B

 

- 연산자의 종류

<비트 전환 연산자(~)>

- 정수를 2진수를 표현했을 때, 1↔0으로 바꾸는 연산

- 정수형에만 사용가능

 

<이항연산자(산술)>

- 이항연산자는 연산을 수행하기 전에 피연산자의 타입을 일치시킴

- int보다 크기가 작은 타입은 int로 변환

- 피연산자 중 표현범위가 큰 타입으로 형변환

 

char + int → int + int → int
float + int → int + int → int
long + float → long + long → long
float + double → double + double → double

 

<이항연산자 (문자연산)>

char c1 = 'a'; //한 글자
char c2 = c1 + 1; //c1이 int로 변환된다.
char c2 = (char) (c1 + 1); //int로 형변환된 값을 다시 char로 downcasting
char c2 = ++c1;
int i = 'B' - 'A'; //char 이항 연산
int i = '2' - '0'; 

 

<이항연산자 (쉬프트연산)>

- 2의 n승으로 곱하거나 나눈 결과를 반환한다.

 

- 곱셈, 나눗셈보다 빠르다.

      x << n: x * 2^n

      x >> n: x / 2^n

 

 

<이항연산자 (비교연산)>

- 피연산자를 같은 타입으로 변환한 후에 비교

- 결과 값은 true 또는 false

 

- 기본형(boolean 제외)과 참조형에 사용 가능

- 참조형에는 ==과 !=만 사용 가능

 

<이항연산자 - 비트연산>

- 피연산자를 비트단위로 연산.

  : 실수형을 제외한 모든 기본형에 사용가능.

비트연산 결과

 

<이항연산자 - 비트마스킹>

 

<이항연산자 - 논리연산>

- 피연산자가 반드시 boolean 이어야 하며 연산결과도 boolean 이어야한다.

<삼항연산자>

 - 조건식의 연산결과가 true이면 '식1'의 결과를 반환, false이면 '식2'의 결과를 반환

 

(조건식) ? 식1 : 식2

<대입연산자>

 - 오른쪽 피연산자의 값을 왼쪽 피연산자에 저장

'공부 > JAVA' 카테고리의 다른 글

[JAVA] 메서드  (0) 2020.07.06
[JAVA] 변수  (0) 2020.07.05
[JAVA] 생성자  (0) 2020.07.04
[JAVA] 클래스와 객체  (0) 2020.07.04
[JAVA] 조건문과 반복문  (0) 2020.07.04
Comments