추상화와 메모리 이번에는 추상화를 통한 클래스 모델링을 하고 클래스의 인스턴스가 생기는 과정에 대해 메모리에는 어떤 식으로 할당이 되는지에 대해서 알아 보겠습니다. '새'라는 클래스를 모델링 해보겠습니다. 추상화를 통해 내가 관심 있는 역역에 대해서만 '속성'과 '기능'을 가져와 보겠습니다. Bird Class 속성 - 이름, 날개의 개수 기능 - 날다 실제 코드로 정의하게 되면 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 public class Bird { public String name; public int countofwing; public void fly() { System.out.println("날다"); } } 실제 테스트를 위한 main을 포함하는 클래스도 구현 하겠습..
프로그램이 메모리를 활용하는방법 객체 지향 프로그램에서 메모리 사용하는 방식에 대해 알아보겠습니다. 프로그램이 실행 되면 메모리는 코드 실행 영역과 데이터 저장 영역으로 분할이 됩니다. 여기서 데이터 영역은 다시 Static 영역, Stack 영역, Heap 영역으로 분할이 됩니다. 여기에서 집중적으로 볼 것은 데이터 영역입니다. ● Static 영역 - 프로그램에서 사용되는 패키지 및 클래스 ● Stack 영역 - main() 메서드를 포함 한 메서드들 및 블록구문 ● Heap 영역 - 객체 기본적으로 프로그램이 실행이 되면 모든 자바 프로그램이 공통적으로 가지는 java.lang 패키지와 사용자가 import 한 패키지 그리고 main 메소드를 포함하고 있는 class가 Static영역에 할당됩니다...