Java를 배우면서 어려운 것도 있지만 이게 어떤 일을 하는 함수인지 모르겠고 배웠는데도 기억이 안날때도 많았다. 그래서 내가 몰랐던 함수에 대해서 정리해 보려고 한다.
1) 생성자 함수
매개변수를 가지고 있는 생성자 함수는 객체를 생성하고 () 안에 바로 변수값을 투입해야한다.
ex) public Restaurant(int num){
}
하지만 매개변수를 가지고 있지 않은 생성자 함수는 객체가 생성되면 자동으로 실행이 된다.
2) 메서드
void : return 값 없이 실행이 가능하다.
static : 객체를 생성하지 않아도 메서드 사용이 가능하다.
3) Math.random(); : 0~1 사이의 랜덤한 수 출력
4) abstract
추상 메서드는 자식이 추가 확장이 가능하다.
5) interface
자식 클래스에서 implements로 상속 받는다.
6) Java는 한개 클래스 밖에 상속을 못 한다.
But interface는 다중 상속이 가능하다.
7) instanceof 연산자
해당 객체가 특정 클래스에 포함되는지 확인하는데 사용한다. 특정 클래스의 객체이거나 자식 객체인지를 확인하는 연산자.
8) toString 연산자
변수값을 나타내고 싶을 때 사용한다.
9) iterator 연산자
반복자. 위치가 계속 다음으로 이동한다.
10) hasNext 연산자
반복되는게 있으면 계속 true 더이상 데이터가 없으면 false. 주로 while문에서 많이 사용한다.
11) List.of 연산자
immutable로 읽기 전용으로 한다.
12) System.out.println("\t");
"\t"는 console창에서 tab친거와 똑같다.
13) equals
안에 있는 실질적인 내용이 같은지 비교한다.
14) try/catch문
예외가 발생할 수 있는 문장에는 try/catch문으로 감싸서 안전을 보장한다. 이 방법이 아니면 함수 옆에 throws 처리해서 방어하는 방법이 있다.(예외가 발생할 수 있는 문장에는 자동으로 빨간물결이 생성되면서 마우스를 가져다대고'surround with try/catch'를 누르면 생성된다.
15) Thread.sleep
cpu에 일시 정지하라는 명령어
16) @Override
부모가 구현한 메서드를 내가 재구현한다는 소리. 사실 없어도 상관없다.
17) {}
if문이나 while문 뒤에 중괄호가 있는 경우가 있고 없는 경우가 있어서 헷갈렸는데 실행문이 두줄이상이면 중괄호로 묶어준다.
18) <?>
?의 의미는 메소드가 여러 종류의 제네릭 타입을 다룰 수 있도록 하기 위해서이다. 즉, 모든 타입을 나타낸다.
19) accept()
소켓을 등록할 때 활용하는 메서드이다.
20) synchronized
여러 스레드가 동시에 이 메서드를 호출할 때 경쟁 상태나 데이터 일관성 문제가 발생하지 않도록 한다.
21) Thread.currentThread()
현재 실행 중인 스레드가 뭔지 나타내는 메서드이다.