본문 바로가기
백엔드/Java

<FAST CAMPUS>자바웹개발 - 객체지향 프로그래밍

by 고구마는호박고구마 2020. 12. 29.

<객체지향 프로그래밍 1장~6장 정리>

 

자바는 객체지향 프로그래밍으로 이루어져있다.

 

객체 지향 이란 

 

절차 지향은 정해진 순서대로 프로그램이 진행되는 반면 객체 지향은 그래서 프로그램을 짤 때 동일한 목적이나 기능을 하는 변수와 함수들을 각각 하나로 묶어서  object (객체)로 만들고 그 객체들끼리 상호 통신하면서 프로그램 전체가 돌아가도록 코드를 구성하는데 이것을 객체 지향 프로그래밍이라고 한다. 

이러한 객체 지향 프로그램 에는

 - 객체를 코드로 구현한 클래스

 - 객체가 가지는 속성을 변수로 표현한 멤버 변수

 - 객체의 기능을 구현하는 함수의 일종인 메서드  

 

Student 클래스 생성

 

Student라는 객체를 코드로 구현한 클래스 를 생성하고      객체의 속성인 ID와 Name 주소 address를 멤버변수로 설정해주고 객체의 기능인 메서드를 학생의 이름과 주소를 출력해 주도록 설정해 주었습니다.      

Student 클래스 사용

main 함수에서 Student 타입의 studentLee를 선언 하고 new Student();로 할당을 해줍니다. new 키워드는 메모리를 할당을 하는 기능을 하며 C에서 malloc과 같은 기능  

 

이러한 클래스가 어떠한 형식으로 메모리에 올라가는가 ?

 

 1.인스턴스   

   - 클래스로 부터 생성된 객체 ex) studentLee

   - 힙 메모리에 멤버 변수의 크기에 따라 메모리가 생성 

  

   클래스를 기반으로 new 키워드를 이용하여 여래 개의 인스턴스를 생성 

 

2. 힙 메모리

스택에 studentLee가 들어가고 Heap메모리에는 studentLee의 멤버변수들의 메모리들이 각각 저장이 됩니다

 

new키워드가 malloc과 같은 기능인데 free를 안하는 이유

- 자바 같은 경우에는 Garbage Collector(GC)라는 기능이 있는데 적절한 타이밍에 한번씩

  돌아서 쓰지 않는 메모리를 수거해 가는 기능이 있다.

 

 

용어정리

 

6장 코딩해보세요.

주문 클래스 생성

 

댓글