Programming/JAVA

JAVA - 상식

상맹 2021. 9. 5. 01:17
반응형

① static, heap, stack 구분

 - static

하나의 JAVA 파일은 크게 필드(field), 생성자(constructor), 메소드(method)로 구성된다. 그중 필드 부분에서 선언된 변수(전역변수)와 정적 멤버변수(static이 붙은 자료형) Static 영역에 데이터를 저장한다. Static 영역의 데이터는 프로 그램의 시작부터 종료가 될 때까지 메모리에 남아있게 된다.

 - heap 

참조형(Reference Type)의 데이터 타입을 갖는 객체(인스턴스), 배열 등은 Heap 영역에 데이터가 저장된다. 이때 변수(객체, 객체변수, 참조변수)는 Stack 영역의 공간에서 실제 데이터가 저장된 Heap 영역의 참조값(reference value, 해시코드 / 메모리에 저장된 주소를 연결해주는 값)을 new 연산자를 통해 리턴 받는다. 다시 말하면 실제 데이터를 갖고 있는Heap 영역의 참조 값을 Stack 영역의 객체가 갖고 있다. 이렇게 리턴 받은 참조 값을 갖고 있는 객체를 통해서만 해당 인스턴스를 핸들 할 수 있다. ​

 - stack

작성하던 메소드 내에서 정의하는 기본 자료형(int, double, byte, long, boolean 등)에 해당되는 지역변수(매개 변수 및 블럭문 내 변수 포함)의 데이터의 값이 저장되는 공간이 Stack(스택) 영역이다. 해당 메소드가 호출될 때 메모리에 할당되고 종료되면 메모리가 해제된다.

 

② 상속

  - 타입의 일치

  - 다형성

  - 추상화

  - 유지보수 (CI) 지속적 통합

  - Overide : 무효화하다

   => 방법 : 부모함수의 이름과 동일한 함수의 이름을 정의(재정의)

 

③ private 변수 사용 이유

  - 다른 클래스가 접근 못하게 하는 것

  - 마법을 부리지 못하게 하려고

  - 상태는 행위(method)를 통해 변경한다.

   => 변수 변경은 method를 통해서 !!

 

반응형

'Programming > JAVA' 카테고리의 다른 글

JAVA 1강 - MacOS에 Eclipse / JDK 설치하기  (0) 2021.10.21