More Related Content
「愛されたい!」と思ったときにJavaで書くRubyクラス はじめてのクラウドサーバー AWSとGCEを使い比べてみた What's hot (11)
アプリ開発検証はLXC+Ansibleで楽ちんにやろう! VXLANを使ったプライベートクラウド VMマイグレーションの実現 Similar to 2014.7 LT java (8)
初歩から始めるJava勉強会 プレゼンテーション資料 バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料) 静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料) 第1回java実習(helloworld)2011 Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ- 2014.7 LT java
- 2. Javaとは
• Sun Microsystems社で1990年代前半に開発された。
• オブジェクト指向プログラミング言語の一つ。
• Java仮想マシン(JVM)で実行される。
• 異なるOS上でも動く。
• 構文はCやC++に近い。
• それ以前の言語のよいところを引き継いでいる。
Duke
Javaのマスコット
- 3. Java仮想マシン(JVM)
ソース
コード
Java
コンパイルバイトコード
実行
(機械語) →配布
• Javaバイトコードは、ソースコードとネイティブコード
の中間の性質を持つ中間コードの一つ。
• この状態で配布される
• JVMはJavaバイトコードからその環境にあったネイティブ
コードに変換しながら実行する。
ネイティブコード
- 4. Java仮想マシン(JVM)
ソース
コード
Java
コンパイルバイトコード
実行
(機械語) →配布
• ソースコードから直接変換するより中間コードから
の方が速い。
• ネイティブコードは環境によって異なる。
ネイティブコード
- 5. オブジェクト指向プログラミング
• 互いにメッセージを送りあう
オブジェクトの集まりとして
プログラムを構成する方法。
• 特徴
• カプセル化
• インヘリタンス(継承)
• ポリモフィズム(多態性、多相性)
• ダイナミックバインディング(動的束縛)
• Javaの場合カプセル化と継承
オブジェクト
処理を行う
オブジェクトメッセージメッセージオブジ
- 6. カプセル化
• データと処理をまとめ
てオブジェクトとすること。
• データに公開された処理を通してしか
アクセスできないようにする。
• データが変更されてもメソッドを書き
換えるだけですむ
メソッド
(処理)
フィールド
(データ)
オブジェクト
オブジェクト