2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

5. 접근 제한자의 이해 SCJP 자격증 프로젝트 발표자 : 노효진.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
01_ 가상 함수를 사용한 다형성의 구현 02_ 오버라이딩
10. 예외 처리.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Chap07 상속 Section 1 : 상속의 개요 Section 2 : 멤버 변수의 상속
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
최윤정 Java 프로그래밍 클래스 상속 최윤정
5장. 객체지향과 클래스.
JAVA 클래스와 멤버 2014년 4월 2일 19:00 손은경 강원대학교 데이터베이스 연구실 강원대학교 데이터베이스 연구실.
클래스 구성 요소 1개의 클래스는 최대 8개의 구성 요소를 가질 수 있다
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
10장 객체-지향 프로그래밍 II.
제 5 장 상속과 다형성.
명품 JAVA Essential.
Chapter 4. 클래스와 객체 PS Lab. 이지연.
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
4.1 자바 응용 프로그램 분석 4.2 식별자(identifier)와 예약어 4.3 변수와 자료형
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 6. 형변환.
명품 Java Programming.
5장. 참조 타입.
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
자바 5.0 프로그래밍.
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
Java 6장. 클래스 : 속성 public class SumTest {
Lesson 7. 클래스와 메소드 - 1.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
10장. 예외처리.
자바 5.0 프로그래밍.
C#.
6장 클래스 6.1 클래스의 일반 구조 6.2 클래스 선언 6.3 객체의 생성 6.4 멤버 변수 6.5 멤버변수 접근 한정자
13. 연산자 오버로딩.
7장 인터페이스와 추상 클래스.
Method & library.
Chapter 11 객체지향 프로그래밍의 기초 01 클래스 02 생성자 03 인스턴스 변수와 클래스 변수 예제 모음 요약
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Lesson 2. 기본 데이터형.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Effective Java [Issue 1 and 2]
Java Chapter 4 ~ 주차.
컴퓨터공학실습(I) 3주 인공지능연구실.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
자바 5.0 프로그래밍.
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
Power Java 제11장 상속.
JA A V W. 06.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
CHAP 21. 전화, SMS, 주소록.
[ 단원 06 ] 상속과 다형성.
Java Programming Java Programming 3장 백석대학교 인터넷멀티미디어 LAB1111호.
자바 5.0 프로그래밍.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Lecture 04 객체지향 페러다임 Kwang-Man Ko
MIDP 네트워크 프로그래밍 ps lab 김윤경.
발표자 : 이지연 Programming Systems Lab.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
2장 자바의 기본문법(1).
자바 객체 지향 프로그래밍 Ps lab 김윤경.
자바 가상 머신 프로그래밍 Chapter 3. 메소드 작성하기 Pslab 오민경.
Presentation transcript:

2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경

목차 Oolong 언어 주석 클래스의 정의 수퍼 클래스 필드의 선언 메소드의 선언 인터페이스

Oolong언어 - JVM에서의 어셈블리 언어로 클래스파일 형식보다 읽고 쓰기가 편리 -> 분석, 수정이 용이 - Oolong 프로그램 -> Oolong 어셈블러 ->클래스파일 ->JVM이 저장, 실행

주석 .method main([Ljava/lang/String;)V .end method ; 이것은 메인 메소드 부분을 나타내는 주석문이다. .method main([Ljava/lang/String;)V ;;이 부분의 코드가 생략되었다. .end method

클래스의 정의 .class public final foo/Bar [표2.1].class 지시자 키워드들 Public 프로그램의 어디에서도 접근이 가능 Final 서브클래스를 갖지 않음 Super 현재 클래스의 슈퍼클래스 Interface 인터페이스로 사용, 인스턴스화되지 않음 Abstract 인스턴스를 생성할 수 없으며 이 클래스의 모든 메소드는 abstract로 정의되어야 함 strictfp 이 클래스의 모든 메소드에서는 제한된 부동 소수점연산을 사용.

수퍼클래스 .class Bicycle .super Vehicle - super 지시자가 주어지지 않을 경우, java/lang/Object 클래스를 수퍼클래스로 갖는다.

필드의 선언 [표2.3]타입설명자 특정타입의 배열 [타입 Byte B Boolean Z Char C Double D Float Int I Long J 클래스의 참조자 L클래스이름; Short S Void V

.field 수식자1수식자2… 이름 타입 =초기값 [표2.3].field 지시자의 키워드 * default : 같은 package내의 다른 클래스로부터 접근이 가능 Public 모든 클래스에서 접근가능 Private 자신이 속한 클래스에서만 접근가능 Protected 패키지 내의 모든 클래스와 자기 자신의 서브클래스에서 접근가능 Static 클래스의 모든 객체에 대해 하나만 생성하여 공유 Final 필드의 값이 변경되지 않음 Volatile 필드의 값이 임의로 변할 수 있음 Transient 임시 저장의 목적으로만 사용

필드의 초기화 static 필드 초기화 시킬수있는 필드의 타입 : 숫자타입(int, float, long, double), String 타입 그렇지 않을 경우, 무시되므로 초기화 메소드에 초기화 시키는 코드를 삽입해주어야 함. ex) .field protected introduction Ljava/lang/String; .field public nicknames [Ljava/lang/String; .field matrix [[F .field static number I =999 .field public culum Ljava/lang/String = “Hello”

메소드의 선언 .method 수식자1수식자2…이름 (인자타입1인자타입2…)반환타입 [표2.5] public 어느 클래스에서나 접근가능 Private 메소드가 속한 클래스에서만 접근가능 Protected 같은 패키지 내의 클래스나 자신의 서브클래스에서만 접근 가능 Static 클래스 메소드 Final 서브클래스에서 오버라이드 될 수 없음 Synchronized 이 메소드를 가지고 있는 객체에 대한 lock을 얻음 Native 네이티브 코드로 작성된 메소드 Abstract 추상 메소드 Strictfp 제한된 부동 소수점 연산을 사용함

메소드 overloading .method println(F)V ;;float 값을 출력하는 메소드 .method println(F)V ;;String 값을 출력하는 메소드 .method println(Ljava/lang/String;)V ;;Long값을 출력하는 메소드 .method println(J)V .method computeresult () I ;int 값을 반환 .method computeresult () D ;double 값을 반환 fload f= (float) couputeresult(); // error!!

Interface .interface Amiable .method public abstract smile()V .end method .class FriendlyPerson .super Person .implements Amiable .method public smile()V ;;smile 메소드의 구현부