금붕어의 자바 사전

2021. 11. 26. 18:24개발 잡부/도서관

728x90

OOP란? Object Oriented Programming

  • 컴퓨터 프로그램을 명령어의 목록으로 보는 것이 아닌, 여러개의 독립된 객체들의 모임으로 보는 패러다임이다.
  • 각각의 객체는 메시지를 주고 받고, 데이터를 처리한다.
  • 프로그램을 유연하게 만들고 개발과 보수가 간편하다.

 

자바의 장점과 단점

  • 장점: 자바 가상 머신 위에서 동작하기 때문에 OS에 독립적이다. 아파치, 스프링과 같은 자바를 지원하는 많은 오픈 소스 프로젝트가 많다.
  • 단점: 비교적 속도가 느리다.

 

메모리 영역

  • 코드 영역: 실행 프로그램의 코드
  • 데이터 영역: 전역 변수, 정적 변수. 프로그램의 시작과 함께 할당, 프로그램 종료시 소멸
  • 스택 영역: 함수의 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역. 함수의 호출과 함께 할당, 종료와 함께 소멸. 메모리의 높은 주소에서 낮은 주소로. 함수 호출시 지역변수와 매개 변수가 저장됨.
  • 힙 영역: 사용자가 직접 관리하는 영역. new등으로 메모리를 할당하는 경우

 

Primitive Type VS Reference Type

  • 기본형 (primitive): stack 메모리 영역에 실제 값을 저장하는 데이터 타입. 
  • 참조형 (reference): 메모리 영역에 객체가 있는 위치를 저장하는 것. 실제 객체의 데이터는 heap에 저장되고 stack에 메모리 주소만 저장된다.

 

가비지 컬렉션

  • 시스템에서 더이상 사용하지 않는 동적 할당된 메모리 블록을 찾아 다시 사용 가능한 자원으로 회수하는 것.
  • 자동으로 이루어지기 때문에 메모리 영역 관리할 필요가 없다.

 

전역변수 VS 지역변수

  • 전역 변수: 어떠한 변수 영역 내에서도 접근할 수 있는 변수. 어떤 스코프에서도 참조하고 변경할 수 있다. 지역성이 없다.
  • 지역 변수: 지역 변수 영역이 주어진 변수.

 

static의 의미

  • 정적 멤버: 메모리 공간 할당 시 처음 설정된 메모리 공간이 변하지 않는 것
  • 객체와 독립된 영역이기 때문에 객체에 따라 달라질 수 있는 field를 사용할 수 없다.
  • 메모리 영역 중에 데이터 영역에 저장된다.

'개발 잡부 > 도서관' 카테고리의 다른 글

금붕어의 웹 사전  (0) 2021.12.13
금붕어의 데이터베이스 사전  (0) 2021.12.13
금붕어의 React 사전  (0) 2021.12.13
금붕어의 타입 스크립트 사전  (0) 2021.12.13
금붕어의 자바 스크립트 사전  (0) 2021.12.13