🔠 프로그래밍언어/☕️ Java

    Java :: 객체지향 프로그래밍 (1/2)

    Java :: 객체지향 프로그래밍 (1/2)

    남궁성 저자의 Java의 정석 3판 스터디 객체지향에 대해 놓치고 있는 부분을 다시 짚어보자. 객체지향이론의 기본 개념은 “실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.” 라는 것이다. 객체지향언어의 주요 특징은 아래와 같다. 1. 코드의 재사용성이 높다. 2. 코드의 관리가 용이하다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 그 중 객체지향언어의 가장 큰 장점은 “코드의 재사용성이 높고 유지보수가 용이” 하다는 것 ! 객체지향개념을 학습할 때는 재사용성 과 유지보수 그리고 중복된 코드의 제거 이 세 가지 관점에서 보면 보다 쉽게 이해할 수 있을 것이다. 클래스와 객체 클래스란 객체를 정의해놓은 것 또는 객체의 설계도 라고 정의할 수 있다. 객체는 실제..

    JAVA :: JVM의 메모리 구조

    JAVA :: JVM의 메모리 구조

    남궁성 저자의 Java의 정석 3판 스터디 어플리케이션이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. Method Area 프로그램 실행 중 어떤 클래스가 사용되면, JVM 은 해당 클래스의 클래스파일(*.class)을 읽어서 클래스 데이터를 이 곳에 저장한다. 클래스 변수도 이 영역에 함께 생성된다. Heap 인스턴스가 생성되는 공간, 인스턴스 변수들도 이 곳에 생성된다. Call Stack Method 가 호출되면 Call stack에 메모리가 할당되며, 연산의 중간결과 등을 저장하는 데에 사용된다. 이 메모리는 Method가 작업을 수행하는 동안 지역변수(매개변수 포함)들과 Method 작업에 필요..

    JAVA :: 배열

    JAVA :: 배열

    남궁성 저자의 Java의 정석 3판 스터디 기초로 돌아가는 마음으로 Java의 정석을 읽으며 스터디를 시작했다 🙂 챕터마다 중요하거나 몰랐던 부분들을 정리해보고자 한다. 배열이란 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 배열의 선언과 생성 자바에서 배열을 생성할 때는 아래와 같이 한다. int[] arr = new int[5]; // 가능 int[] arr = new int[] {50, 60, 70} // 가능 int[] arr; arr = {50, 60, 70} // 이건 불가능 그런데, 길이가 0인 배열도 생성이 가능하다 ! int[] arr = new int[0]; 길이가 0인 배열을 생성하는 것은 어떤 의미가 있을까? Java에서 main method 실행할 때를 생각해보자. class..