본문 바로가기
반응형

Java8

[Java] 추상화 1. 추상화 객체의 핵심적인 특성들을 묶어 재조합(모델링)하는 것 핵심적 = 공통적 = 필수적 = 내가 관심있는 어플리케이션의 성격에 따라 추상화가 달라질 수 있음 사람을 예로 들었을 때 헬스장 어플리케이션 사람 ======== 이름 키 몸무게 골격근량 체지방량 ======== 먹다() 말하다() 결제하다() 운동하다() 씻다() 은행 어플리케이션 사람 ======== 이름 나이 직업 연봉 신용도 ======== 말하다() 입금하다() 출금하다() 이체하다() 대출하다() 2. 자바에서 추상화는 무엇으로 표현하는가? Class 3. 사람의 기본적인 특성을 가지고 추상화 해보자 사람 ======== 이름 나이 키 ======== 말하다() 사람은 '이름', '나이', '키'라는 속성을 가지고 있으며, '말.. 2019. 5. 2.
[Java] JVM(Java Virtual Machine) JVM(Java Virtual Machine) 물리적 컴퓨터가 아닌 가상의 컴퓨터 소스코드(.java)가 컴파일 되어 생성된 바이트코드(.class)를 실행 바이트코드는 JVM 위에서 OS와 상관없이 실행 (OS와 독립적) Garbage Collector, Class Loader, Execution Engine, Runtime Data Area 총 4가지로 구성 (이미지 출처 : https://www.javamadesoeasy.com/2017/03/top-30-jvmjava-virtual-machine.html) 1. Runtime Data Area JVM이 프로그램을 수행하기 위해 운영체제(OS)부터 별도로 할당 받은 메모리 공간 PC Register, JVM Stack, Native Method St.. 2019. 4. 28.
[Java] 자바 프로그램 구동 및 실행 과정 먼저, 컴퓨터를 구동하기 위해서는 다음 세가지가 필요하다. 1. 물리적 컴퓨터인 하드웨어 (JVM과 대응) 2. 운영체제 (JRE와 대응) 3. 구동될 소프트웨어 (JDK와 대응) Java 프로그램 구동 역시 위의 세가지에 대응되는 JVM, JRE, JDK 가 필요하다. 1. JDK(Java Development Kit) 자바 개발 도구 javac.exe (자바 소스 컴파일러) 포함 2. JRE(Java Runtime Environment) 자바 실행 환경 java.exe (자바 프로그램 실행기) 포함 JVM용 운영체제 3. JVM(Java Virtual Machine) 물리적 컴퓨터가 아닌 가상의 컴퓨터 소스코드(.java)가 컴파일 되어 생성된 바이트코드(.class) 를 실행 바이트코드는 JVM 위.. 2019. 4. 27.
[Java] 클래스 vs 객체 클래스 vs 객체 1. 클래스 분류 같은 특성(속성,기능)을 가진 여러 객체를 총칭하는 집합 2. 객체 실체 유일무이한 사물 3. 클래스 vs 객체 == 붕어빵틀 vs 붕어빵 ?? 흔히 클래스와 객체의 관계를 붕어빵틀과 붕어빵이라고 비유한다. 하지만, 이는 잘못된 비유이다. 붕어빵틀 붕어빵 = new 붕어빵틀(); 붕어빵틀로 붕어빵을 만들었는데, 타입이 붕어빵틀이다?? 붕어빵틀은 붕어빵에 대한 클래스가 아닌 팩토리클래스이다. (팩토리 클래스 : 객체를 생성하는 클래스) 붕어빵 팥붕어빵 = new 붕어빵(); 이게 맞는 표현이다. (붕어빵은 분류, 팥붕어빵은 실체. 얼마나 말이되는가?) 4. 객체 식별하기 객체와 클래스를 구분하는 가장 중요한 것은 ‘분류’인가 ‘사물’인가이다. 나이, 제조년월을 물었을 때.. 2019. 4. 22.
반응형