본문 바로가기

스터디

(18)
[JAVA] 클래스 [클래스와 객체] 자바는 객체 지향 언어이다. 객체 지향이란 현실세계를 예시로 들 때 특정한 제품들을 만드려고 할 때 여러 가지 부품들을 이용하고 해당 부품들을 결합하여 하나로 조립하는 과정을 말한다. 애플이라는 회사를 예시로 들 때 아이폰을 만들기 위한 설계도가 있고 해당 설계도를 이용하여 각종 부품들을 구현한다고 칠 때 설계도가 클래스고, 각종 부품들을 객체라고 할 수 있다. 즉 클래스란 제품을 만들기 위한 설계도이고, 객체란 클래스를 통해 만들어낸 제품이라고 할 수 있다. [인스턴스] 클래스를 통해 객체를 선언하는 과정 할 때의 과정을 인스턴스화라고 한다. 객체와 인스턴스는 의미가 똑같은 것 같지만 사실은 다르다. 쉽게 이해하기 위해 예시를 하나 들어보겠다. public class Animal { ..
[JAVA] 변수와 타입 [자바의 메모리 영역] 자바 프로그램이 실행되면 JVM(Java virtual Machine)이 os로부터 메모리 값을 할당받게 되고, 컴파일러가 소스코드를 바이트 코드로 컴파일하게 된다. 이때 메모리의 영역이 크게 Stack, Heap, 메서드 영역으로 구분된다. [Stack 영역] 기본형 타입의 데이터에 해당하는 지역 변수, 매개변수의 인자값들이 저장된다. Heap영역에 있는 객체들을 가리키는 참조변수를 저장한다. 힙 영역보단 작지만 바로 실행이 가능한 공간이다. 파일이 실행되면서 main메서드가 실행되고 값들이 스택에 올라가게 된다. [Heap 영역] 스택보다 훨씬 큰 데이터 공간을 가지고 있고 상대적으로 오랫동안 값을 보관하는 것이 가능하다. 클래스같이 파일 용량이 큰 것들을 Heap영역에 저장해..