기록과 정리

자바의 정석 6장) 객체지향 프로그래밍 1 본문

IT/Java

자바의 정석 6장) 객체지향 프로그래밍 1

zepetto 2021. 12. 6. 18:33

이 글은 남궁성님의 '자바의 정석(3판)'을 참고하였습니다.

http://book.interpark.com/product/BookDisplay.do?_method=detail&sc.prdNo=249927409&gclid=Cj0KCQiA47GNBhDrARIsAKfZ2rAg6W0OqcjutblZ7JtmERUsv1hbMmppRUAYV656FsdUUInjUs8ZZSoaAv-BEALw_wcB 

 

싸니까 믿으니까 인터파크도서

Chapter 1 자바를 시작하기 전에 1. 자바(Java Programming Language) / 2 1.1 자바란? / 2 1.2 자바의 역사 / 2 1.3 자바언어의 특징 / 3 1.4 JVM(Java Virtual Machine) / 4 2. 자바개발환경 구축하기 / 6 2.1 자바 개발도구(JDK

book.interpark.com

 

역사

 객체지향이론은 1960년대 중반에 미사일 및 우주로켓 등의 모의실험을 위한 용도로 사용되다가 점차 구체적으로 실생활에서 사용이 되기 시작했고 , 최초의 객체지향언어 시뮬라(Simula)가 탄생했다.  절차지향적 언어가 주류역던 당시 널리 사용되지 못하였지만 C++ 의 등장과 1995년 자바가 발표되면서 인터넷 발정에 크게 유용해지며 주류로 자리 잡았다.

 

객체지향의 장점

객체지향의 장점은 다음과 같이 3가지이다.

1. 코드의 재사용성

2. 코드의 관리 용이

3. 신뢰성이 높은 프로그래밍 가능

 

클래스/객체 /변수

클래스 - 객체를 정의해 놓은 것 (=설계도)

객체 - 실제로 존재하는 것

 

선언 위치에 따라 변수는 3가지로 분류된다.

Class Variables
{
	int iv; //인스턴스 변수
    static int cv; //클래스 변수
    
    void method(){
   		int lv = 0; //지역 변수
    }
    
 }

-> 변수 선언 위치에 생성 시기가 변경이 된다. 적재적소에 불필요한 저장공간을 피하는 코딩을 해야한다.

 

인자(argument)와 매개변수(parameter)

argument - 메서드를 실행시 지정해준 값

parameter - 메서드 호출시 대입이 되는 값

public static void main(String args[]){
	method(3,4); //argument
}

void method(int x , int y){ //parameter
	int z = x + y;
}

 

JVM

Java Virtural Machine의 약자로 OS에 상관없이 자바의 바이트 코드를 실행시켜주는 주체이다. 

 

JVM의 구조

JVM 구조는 3가지 중요 영역이 있다.  

1. 메서드 영역(Method Area)

 프로그램 실행시 JVM은 해당 클래스의 클래스파일을 읽어서 해당 Method Area에 저장한다. 해당 클래스의 클래스변수도 함께 저장된다.

 

2. 호출스택(Call Stack 또는 execution Stack)

메서드 작업시 필요한 메모리 공간을 제공하며, 작업을 수행하는 동안 지역변수(+매개변수)과 연산의 경과값을 저장한다. 메서드가 작업을 마치면 해당 메모리공간은 반환되어 비워진다.

 

 

3. 힙(heap)

인스턴스가 생성되는 공간으로 인스턴스 변수 역시 해당 영역에 저장된다.

 

 

 

 

'IT > Java' 카테고리의 다른 글

Iterable과 Iterator  (0) 2022.02.18
제네릭(Generic)에 대하여  (0) 2022.02.11
Date와 Time API  (0) 2021.08.31
Java Optional  (0) 2021.08.23
Java8 Stream API (스트림 API)  (0) 2021.08.12