JAVA

DAY 9 ( method, 객체지향(OOP), OOP 실습, 부록 : 메모리)

도키마 2024. 5. 30. 15:03

 

 

 

 

 

 

 

오늘의 노래 추천 🎡

 

 
안녕,네버랜드
아티스트
KISS OF LIFE
앨범
KISS OF LIFE
발매일
1970.01.01

 

사실 요 며칠 에스파 노래만 들어서 보따리 하나 풀었어요

요즘 행보가 참 느낌 좋은 키오프님들 데뷔앨범 1픽

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

DAY 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

부록 : Java 의 메모리와 주소



 

 

 

memory : 컴퓨터에서 데이터를 기억하기 위한 공간

 


 

메모리

 

 

 

 

Runtime Data Area

 

 

 

stack

 

 

int a를 정의하면 a = n 이라는 변수의 값들이 stack에 쌓이게됨

* 메소드가 끝나는 시점에서 소멸

 

 

heap

 

 

Reference type ( String 또는 new 로 만들어진 타입) 을 저장하게됨

 

 

reference type의 선언

 

 * 때문에 reference type의 경우 stack 의 sc, rd 등에는 "주소값"이 들어있음

 

 

배열의 선언

 

첫번째 공간의 주소값을 참조함

* index ㅡ> reference 하고있는 주소(시작위치)로부터 몇칸 떨어져있는지 명시

 

 

배열의 저장

 

대충 뭐 어쨌든

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

** 객체 지향 프로그래밍 (OOP) ** 

 

 

 

 

 

 

 

 

 

객체들의 관계를 중심으로 목적을 수행하는 프로그래밍 기법

 

 

 

 

 

 

프로그래밍 기법의 변화

 

 

 

 

 

 

 

 

 

* OOP의 특징 *

 

 

 

캡슐화 ( Encapsulation )

 

field와 method를 하나로 묶고 실제 구현내용을 외부로부터 감추는 기법 (정보은닉)

접근제한자를 통해 캡슐화

* 외부에서는 공개된 method의 인터페이스를 통해 접근 가능

 

 

상속 ( Inheritance )

 

작성된 상위클래스의 특성을 이어받아 하위클래스를 생성하는 기법

기존 코드를 재사용하거나 재정의 ㅡ> 재사용 + 확장

 

 

추상화 ( Abstract )

 

구체적인 것을 분해해서 관찰자가 관심있는 특성만 가지고 재조합 하는 기법

 

Modeling

 

+ 상속을 통한 추상화, 구체

+ 인터페이스를 통한 추상화

+ 다형성을 통한 추상화

 

 

다형성

 

같은 method를 호출하더라도 객체에 따라 다르게 동작하는 것

* 상위클래스 동작을 하위클래스에 다시 정의하여 사용하는 것 역시 다형성으로 볼 수 있음

 

 

 

 

 

 class 

   object 

field 

     method 

 

 

 

 

 

 

 

 

 

 

 

 

 

[ 객체 생성 실습 ]

 

 

 

 

 

 

ㅡ1 햄버거 가게와 고객

 

 

 

1. 객체 생성

 

 

* customer 클래스 생성

 

field, method 설정

 

 

 

* store 클래스 생성

 

store 객체 생성

 

this.변수명 : field에 있는 변수를 지정해줌

 

 

 

2. main 클래스 생성

 

 

* main 클래스에서 객체 생성

 

데이터타입 변수명(객체명) = new 클래스명 ( ) ;

 

main method

 

 

 

 

 

ㅡ2 kakao talk 기능

 

 

1. Exkakao 클래스 생성

 

객체 class 생성

 

 

2. 객체 생성 및 기능 실행

 

main 클래스

 

 

 

 

ㅡ3 은행

 

 

 

 

 

bankbook 클래스 생성

 

 

객체 생성

 

 

main 클래스 작성

 

나도 몰르것다