Java Keyword

Jiyeong·2022년 1월 19일
0

JAVA

목록 보기
2/31

static : 이 변수는 필드 앞에 붙을 시 객체가 사용하는 필드가 아니라, 클래스에서 사용하는 필드.

Thread : 일을 처리할 때 CPU를 통해서 코드를 실행하는 것.
Multi Thread : 한 프로그램 내에서 쓰레드가 여러 개 존재하는 것.
문제 상황 : 한 함수를 여러 쓰레드가 접근하려고 함 <- 이 경우엔 Synchronized라는 키워드를 사용해서 해결.

Serealizable : 객체를 파일에 쓰거나 읽는 객체를 만들 때
-> 이걸 안 할 때 transient라는 modifier을 씀

volatile : 자바에서 값을 읽어올 때 반드시 메모리에서 값을 읽어 옴.
캐시메모리를 처리하지 않음! -> 멀티쓰레드 환경에서 동시 접근 시 값이 깨지는 경우가 있는데, synchronized 문제가 생기지 않음.

strictfp : 부동소수점 연산은 하드웨어 기능을 이용해 연산함. 하드웨어 연산 장치에 따라 결과가 달라질 수 있음. 하지만 이 modifier로 하드웨어에 상관없이 동일한 결과 출력.

범위 제한자 : private, protected, public, packaged(아무것도 없는 거)

final : 클래스(상속x), 메소드(오버라이딩x), 변수(값 변경 불가).
오직 한 번만 값을 할당함.

super : 상위 클래스를 가리킴.

Polymorphism : 다형성은 다른 형태를 많이 가질 수 있는 성질.
레퍼런스 변수는 다른 여러 형식의 객체를 가리킬 수 있음.

Heterogeneous Collections
: 같은 형태의 객체들의 집합체

Override Method : super에 정의되어 있는 메소드를 sub에서 다시 정의하여 사용함. 메소드 앞에 @Override annotation을 붙임.

  • 리턴 타입은 반드시 오버라이딩할 메소드와 일치
  • 접근 지정자는 오버라이딩할 메소드보다 폐쇄적이면 안 됨!

abstract를 쓰는 이유?
class 내부에서 함수의 정의만 있고 구현은 없는 함수.
이 메소드가 있는 클래스는 추상 클래스가 됨.

Overloading Method Names :
아규먼트 목록이 서로 달라야 하고, return type이 다를 수도 있음.

Overloading Constructors :
메소드처럼 생성자도 오버로드 시킬 수 있음.
아규먼트 목록은 서로 달라야 함.
해당 생성자에서 this 사용 가능.

Override Constructors :
상위 클래스로부터 생성자는 상속되지 않음.
클래스에 생성자가 들어가는 경우 1) Default 생성자인 경우 2) 프로그래머가 하나 또는 그 이상의 생성자를 명시하는 경우

객체 생성 시 호출 순서 :

profile
깃스타가 되고 싶은 벨플루언서

0개의 댓글