클래스와 객체_3

김민아·2025년 1월 14일

Java

목록 보기
11/14
  • class & instance

데이터를 추상화한게 클래스

더 자세한게 인스턴스.. 이런 개념인가본데 아직 이해가 안된다

  • 클래스 생성하기

new 예약어를 이용하여 클래스를 생성한다.

클래스형 변수 이름 = new 생성자;

참조형 데이터 타입 참조변수

ex) Student studentA = new Student(); //함수처럼 생겼지만 하나의 클래스를 만든 것

jvm은 운영체제에서 할당받은 메모리 영역을 메소드 영역, 힙 영역, jvm스택 영역으로 구분해서 사용한다.

메소드 영역: 클래스 별로 정적 필드와 상수, 메소드 코드, 생성자 코드 등을 저장

힙 영역: 객체와 배열이 생성 즉 인스턴스..?

jvm스택 영역: 메소드를 호출할 때마다 프레임 추가하고 끝나면 제거

ex) 클래스 만들기

Q. 근데 이러면 클래스 안에 클래스를 만든거?

클래스는 main문 안에서만 만들 수 있음?

추가) 앞의 예시보다 이렇게 쓰는 경우가 더 많음! 결과는 같다

실습에서 나온 studentLee 와 studentKim은 지역변수이다.

앞의 예시들로 인해 studentㅣ-Lee, Kim라는 객체가 힙의 어딘가에 생성됐을텐데

스택에 있는 studentLee 와 studentKim은 그 주소를 가르킨다

참고로 힙에 있는 데이터들은 필요없어지면 GC(Garbage Collector)라는

자바에서 제공하는 쓰레기 수집기가 없애준다.

  • 용어 정리
  • 생성자

new키워드에 의해서만 생성된다.

생성자는 클레스 이름과 같아야 한다.

기본 생성자는 public Student(){} 이렇게 생겼는데 자바 컴파일러가 자동으로 추가해줌

다른 생성자가 하나라도 있으면 추가하지 않음

이번 강의 듣는게 2시간이나 걸렸다ㅋㅋ;

profile
천천이 꾸준히

0개의 댓글