코딩성장스토리

자바 개념과 이해 2 본문

백 엔드/java

자바 개념과 이해 2

까르르꿍꿍 2022. 4. 7. 16:20

 

abstract 키워드 - 추상 메서드와 추상 클래스

  • 선언부는 있는데 구현부가 없음 (추상 메서드 하나라도 가지고 있으면 추상클래스로 선언)
  • 추상 클래스는 인스턴스를 만들수 없다.
  • 하위 클래스에게 메서드의 구현을 강제 하다.
  • 상속시에 유용하게 쓰임'

ex) 동물이 운다 --> 새가 운다. 라는 문자이 있을 때 동물이 운다라는 표현이 이상하므로 추상으로 구현부 없애고 오버 라이딩 

 

 

기본 생성자

  • 객체 생성시 자바가 자동으로 만들어줌
  • 인자가 있는 생성자 하나라도 만들면 자바는 기본생성자 안만듬

 

static 블록 클래스 내부 

해당 패키지 또는 클래스가 처음으로 사용할때 로딩이 됨.(시작할 떄 모든 클래스가 스태틱에 로딩이 된다고 되었지만 사실은 메모리를 최대한 늦게 사용하기 위해서 객체 생성시 로딩)

static 블록은 해당 클래스 여러개 선언되어도 단 한번만 출력

 

 

final 키워드

  • 변수 클래스 메서드 선언 가능
  • 변수에 선언시 변경 불가능한 상수
  • 클래스에 선언시 상속이 불가능한 클래스
  • 메서드에  선언시 오버라이딩 금지

 

instanceof 연산자

만들어진 객체가 특정 클래스의 인스턴스인지 물어보는 연산자

상속관계도 가능 하위클래스 instanceof 상위 클래스 가능

 

package 

c++ 의 네임스페이스랑 비슷

이름 충돌 피하기 위함

 

interface 와 implements 키워드

인터페이스는 public 추상 메서드와 public 정적 상수만 가질 수 있음

생성한 코드에 자동으로 public,static,final,abstract 가 붙음 

 

this 와 super 키워드

this는 자신(객체) 를 가리키는 키워드 

super 는 바로 위 상위클래스의 인스턴스를 지칭

 

*객체 멤버 메서드는 객체마다 생성이 되는 것이 아니라 스태틱 영역에 한개만 보유 jvm 이 이 메서드에 객체 참조변수를 넘겨서 값이 변경하게 만들어짐(이유: 메모리 낭비 방지) 

 

'백 엔드 > java' 카테고리의 다른 글

자바 객체 개념 (SOLID)  (0) 2022.04.08
자바의 역사와 이  (0) 2022.04.02
자바 공부하면서 주의한것  (1) 2021.12.04
자바:Java(4)  (1) 2021.10.28
자바:Java(3)  (0) 2021.10.27