Java 기초

banjaeyoung·2023년 3월 26일
0

// 클래스 선언
public class MyClass {
// 변수 선언
int num1;
Message msg;

// 메서드
public void printName(String name) {
    ...
}

// 메서드
public Message getMessage() {
    ...
}

// 메인 메서드
public static void main(String[] args) {
    // 클래스 인스턴스 생성
    MyClass mc = new MyClass();
    ...
}

클래스(Class)
객체지향 프로그램의 기본 구조로 자바에서 모든 프로그램 소스는 클래스 단위로 시작하게 됩니다.

프로그램 소스는 .java 파일이고 컴파일된 결과는 .class 가 됨.
일반적으로 클래스 이름과 소스파일명은 동일함.
대부분의 경우 프로그램은 여러 클래스로 구성되며 실행을 위해서는 main() 메서드가 필요함.
인스턴스(Instance)
클래스로 부터 생성된 객체로 클래스는 객체를 정의한 틀이고 실제 프로그램은 인스턴스를 통해 동작하게 됩니다.

main() 메서드는 단지 프로그램을 실행하는 진입점이고 실제 클래스를 사용하려면 new() 연산을 통해 인스턴스를 생성해야 함.
main() 에서 클래스부에 선언된 변수(멤버)를 접근할 수 없으며 인스턴스를 통해 사용해야함(인스턴스 변수).
인스턴스에서 변수와 메서드 사용은 인스턴스명.변수명 , 인스턴스명,메서드명 과 같은 형식으로 사용.
변수(Variable)
일반적인 프로그램언어의 변수와 기본 개념은 같습니다.

메서드(Method)
일반적인 프로그램언어의 함수와 유사합니다. 함수는 단순한 기능을 모듈화 한것이지만 메서드는 객체의 동작(행위)을 정의 합니다.

주석(Comment)
대부분의 프로그램언어와 같은 주석을 지원하며 JavaDoc 과 같은 특수한 목적의 주석이 있습니다.

// 한줄 주석
/
여러줄 주석
/
/*
JavaDoc 주석
/

클래스(Class)
객체지향 프로그램의 기본 구조로 자바에서 모든 프로그램 소스는 클래스 단위로 시작하게 됩니다.

프로그램 소스는 .java 파일이고 컴파일된 결과는 .class 가 됨.
일반적으로 클래스 이름과 소스파일명은 동일함.
대부분의 경우 프로그램은 여러 클래스로 구성되며 실행을 위해서는 main() 메서드가 필요함.
인스턴스(Instance)
클래스로 부터 생성된 객체로 클래스는 객체를 정의한 틀이고 실제 프로그램은 인스턴스를 통해 동작하게 됩니다.

main() 메서드는 단지 프로그램을 실행하는 진입점이고 실제 클래스를 사용하려면 new() 연산을 통해 인스턴스를 생성해야 함.
main() 에서 클래스부에 선언된 변수(멤버)를 접근할 수 없으며 인스턴스를 통해 사용해야함(인스턴스 변수).
인스턴스에서 변수와 메서드 사용은 인스턴스명.변수명 , 인스턴스명,메서드명 과 같은 형식으로 사용.
변수(Variable)
일반적인 프로그램언어의 변수와 기본 개념은 같습니다.

메서드(Method)
일반적인 프로그램언어의 함수와 유사합니다. 함수는 단순한 기능을 모듈화 한것이지만 메서드는 객체의 동작(행위)을 정의 합니다.

주석(Comment)
대부분의 프로그램언어와 같은 주석을 지원하며 JavaDoc 과 같은 특수한 목적의 주석이 있습니다.

// 한줄 주석
/
여러줄 주석
/
/*
JavaDoc 주석
/
JavaDoc 은 자바 프로그램 소스의 JavaDoc 주석을 참고해 클래스의 API문서를 자동으로 생성해 주는 주석

자바 식별자(Identifier) 규칙
변수, 상수, 메서드, 클래스 등을 선언할때의 일반적인 이름 규칙 입니다.

첫 문자가 문자나 , $의 특수문자로 시작되어야 한다. 숫자로 시작할 수 없다.
첫 문자가 아니라면, 문자나
, $의 특수문자 그리고 숫자로 구성될 수 있다.
자바의 예약어는 식별자로 사용할 수 없다.
자바의 식별자는 대소문자를 구분한다.
식별자 길이는 제한이 없고 공백은 포함할 수 없다.
식별자 생성 관례(Coding convention)
문법적인 제한사항은 아니지만 일반적으로 다음과 같은 관례로 생성 합니다.

클래스 이름은 대문자의 명사로 시작
메서드 이름은 소문자의 동사
변수는 소문자의 명사
상수는 대문자의 명사

변수 사용의 예시

int num1; // 정수형 변수
char c1 = 'A'; // 문자형 변수를 선언하고 A로 초기화
long num2 = 212355L; // long 정수형 변수를 선언.
float num3 = 13.4F; // float 실수형 변수를 선언.
boolean result = true; // 논리형 변수를 선언하고 true 로 초기화.

자료형의 명칭

byte 1바이트, -128~127 가장 작은 단위로 8bit 로 구성된 1byte 를 기본으로 함.
char 2바이트, 0~65535 음수를 포함하지 않는 unsigned 자료형으로 문자 표현에 적합.
short 2바이트, -32768~32767 음수를 포함한 2바이트 크기의 자료형. 작은 데이터 처리에 적합.
int 4바이트, -2147483648~2147483647 정수의 기본자료형이지만 충분한 크기가 아님에 주의
long 8바이트, -9223372036854775808 ~ 9223372036854775807 충분한 숫자값이 필요한 경우 사용
float 4바이트, 1.4E-45 ~ 3.4028235E38 실수형의 기본형이 아니므로 숫자뒤에 f 를 붙여 사용
double 8바이트, 4.9E-324 ~ 1.7976931348623157E308 실수형의 기본 자료형.
boolean 1바이트, true 혹은 false 논리형으로 참, 거짓을 표현.

사칙연산

  • 4 + 2 덧샘 연산 6
  • 4 - 2 뺄샘 연산 2
  • 4 * 2 곱샘 연산 8
    / 4 / 2 나누기 연산 2
    % 8 % 3 나머지 연산 2

대입연산

= weight = 80; 변수 weight에 80의 값을 할당 80
+= weight += 2; weight = weight + 2; 와 같음 82
-= weight -= 2; weight = weight - 2; 와 같음 80
= weight = 2; weight = weight * 2; 와 같음 160
/= weight /= 2; weight = weight / 2; 와 같음 80
%= weight %= 3; weight = weight % 3; 과 같음 2
++ weight++; weight = weight + 1; 과 같음 3

    • weight- -; weight = weight - 1; 과 같음 2

비트연산

& 비트 AND 연산 a & b a(40): 0010 1000, b(122): 0111 1010, r: 0010 1000
| 비트 OR 연산 a | b a: 0010 1000, b: 0111 1010, r: 0111 1010
^ 비트 XOR 연산 a ^ b a: 0010 1000, b: 0111 1010, r: 0101 0010
~ 비트 inverse(역) 연산, 0->1, 1->0 a ~ b a: 0010 1000, r: 1101 0111

비트를 우측으로 이동(shift), 2로 나누는 효과	a » 2	a: 0010 1000, r: 0000 1010

<< 비트를 좌측으로 이동(shift), 2를 곱하는 효과 a « 2 a: 0010 1000, r: 1010 0000

논리연산

&& AND 연산, 양쪽이 모두 참인 경우에만 true 리턴 A && B false
|| OR 연산, 양쪽중 한쪽만 참이어도 true 리턴 A || B true
! 단항연산으로 NOT 연산 !A false

관계연산

크다	a > b	false

= 같거나 크다 b > a true
< 작다 c < b true
<= 같거나 작다 b < a false
== 같다 a == c true
!= 같지않다 a != b true

profile
개발 공부하는 취준생

0개의 댓글