π JAVA κ°λ
π νΉμ§
- C++ λ¬Έλ²κ³Ό ꡬ문 + Small talkμ κ°μ²΄μ§ν₯
- λ©λͺ¨λ¦¬ ν΄μ (garbage collector)
- ν¬μΈν° μμ
β ꡬ쑰
1) μ΄μ체μ
2) JVM (Java Virtual Machine)
3) Java API (ν΄λμ€ λΌμ΄λΈλ¬λ¦¬)
4) Java μΈμ΄
β java μ€νκ³Όμ
- νμ₯μ : *.java
- java β‘ class β‘ JVM μ€ν
β JVMκ³Ό JDK(μλ° κ°λ° ν€νΈ) μ€μΉ
- JDK ꡬμ±
- java νλ‘κ·Έλ¨ κ°λ° λꡬ (μ»΄νμΌλ¬)
- JRE -> JVM + μ¬λ¬ νμ€ ν΄λμ€
- JDK λ€μ΄λ‘λ
β java νλ‘κ·Έλλ° ν΄
π νμ€ μΆλ ₯
β νλ‘κ·Έλ¨ κ΅¬μ‘°
public class ν΄λμ€λͺ
{ (1)
public static void main(String[] args) (2)
{
System.out.println("기본ꡬ쑰"); (3)
}
}
(1) javaμ κΈ°λ³Έ ν΄λμ€, ν΄λμ€λͺ
(2) νλ‘κ·Έλ¨μ μ§μ
μ
(3) java νλ‘κ·Έλλ°
- ν΄λμ€ μμ public λΆλ κ²½μ° : νμΌλͺ
= ν΄λμ€λͺ
- 1κ°μ fileμλ 1κ°μ classλ§ μ¬μ©
β νμ€ μΆλ ₯
π μ°μ°μ
β μμ
- μ«μ μμ + λ¬Έμ μμ
- μ¬μ©νλ λͺ¨λ λΆλ³μ κ°
β λ°μ΄ν°ν
- κΈ°λ³Έν
- boolean (1 byte)
- char (2 byte)
- byte (1 byte)
- short (2 byte)
- int (4 byte)
- long (8 byte)
- float (4byte)
- μ°Έμ‘°ν (λ©λͺ¨μ§ μ£Όμλ₯Ό μ μ₯νλ λ°μ΄ν°ν)
- ν΄λμ€
- λ°°μ΄
- μΈν°νμ΄μ€
β λ³μ
- λ°μ΄ν°ν λ³μλͺ
;
- μμλ₯Ό μ μ₯νλ λ©λͺ¨λ¦¬ 곡κ°
β μ°μ°μ
- μ°μ μ°μ°, λΉκ΅ μ°μ° λ± ν€μλ
- μ¦κ° μ°μ°μ : ++, --
- μ°μ μ°μ°μ : +, -, *, /, %
- λΉκ΅ μ°μ°μ : <, <=, >, >=, ==, !=
- μννΈ μ°μ°μ : <<, >>
- λΉνΈ μ°μ°μ : &, |, ^, ~
- λ
Όλ¦¬ μ°μ°μ : &&, ||, !
- 쑰건 μ°μ°μ : (쑰건) ? (μ°Έ) : (κ±°μ§)
- λμ
μ°μ°μ : =, +=, -=, *=, /=, %=
π λ¬Έλ²
β λ°λ³΅λ¬Έ
1) forλ¬Έ (μ΄κΈ°ν; 쑰건μ; μ¦κ°)
for (int i = 0; i < 10; i++) {
}
2) whileλ¬Έ (쑰건μ)
while(i != 0) {
}
3) do ~ whileλ¬Έ (쑰건μ)
do {
}
while (i != 0) {
}
β μ νλ¬Έ
1) if ~ elseλ¬Έ (쑰건μ)
if (i != 0)
λͺ
λ Ήμ΄;
else if (i >= 10)
λͺ
λ Ήμ΄;
2) switchλ¬Έ (ννμ)
switch(n)
{
case 1:
break;
case 2:
break;
default:
break;
}
β breakμ continue
- break
- κ°μ₯ κ°κΉμ΄ λ°λ³΅λ¬Έμ λΉ μ Έλκ° (goto κΈ°λ₯κ³Ό μ μ¬)
- κΈ°λ³Έ κΈ°λ₯ + λΌλ²¨(label)
OUT : while(true)
{
while(true)
{
i++;
if (i == 3)
{
break OUT;
}
}
}
π JAVA λ°μ΄ν°ν
π λ°°μ΄
- κ°μ λ³μλͺ
+ κ°μ λ°μ΄ν°ν + λ€μμ λ³μ
int nArray[]; λλ int[] nArray;
nArray = new int[10];
β μΌμ°¨μ λ°°μ΄
1) λ°°μ΄ μ μΈ νμ
- μ°Έμ‘°ν λ°°μ΄λ³μ
- λ°μ΄ν°ν λ°°μ΄λ³μλͺ
[];
- λ°μ΄ν°ν[] λ°°μ΄λ³μλͺ
;
2) λ°°μ΄ μμ±
- λ°°μ΄λ³μλͺ
= new λ°μ΄ν°ν[κ°μ];
- λ°μ΄ν°ν[] λ°°μ΄λ³μ = new λ°μ΄ν°ν[κ°μ];
3) μ΄κΈ°ν
- κΈ°λ³Έκ°
- charν : null
- booleanν : false
- intν : 0
- floatν : 0.0
- μ μΈκ³Ό λμμ μ΄κΈ°ν νλ νμ
int nArray[];
int[] nArray;
nArray = new int[7];
int[] nArray = new int[7];
int[] nArray = {1, 2, 3};
β μ΄μ°¨μ λ°°μ΄
1) λ°°μ΄ μ μΈ νμ
- μ°Έμ‘°ν λ°°μ΄λ³μ
- λ°μ΄ν°ν λ°°μ΄λ³μλͺ
[][];
- λ°μ΄ν°ν[][] λ°°μ΄λ³μλͺ
;
2) λ°°μ΄ μμ±
- ν/μ΄ κ°μ λ°°μ΄ μμ±
- λ°°μ΄λ³μλͺ
= new λ°μ΄ν°ν[νκ°μ][μ΄κ°μ];
- λ°μ΄ν°ν[][] λ°°μ΄λ³μ = new λ°μ΄ν°ν[νκ°μ][μ΄κ°μ];
- ν/μ΄ λ€λ₯Έ λ°°μ΄ μμ±
- λ°°μ΄λ³μλͺ
= new λ°μ΄ν°ν[νκ°μ][];
λ°°μ΄λ³μλͺ
[νλ²νΈ] = new λ°μ΄ν°ν[μ΄κ°μ];
3) μ΄κΈ°ν
- νκ³Ό μ΄ λ¨μλ‘ μ΄κΈ°ν
- μ μΈκ³Ό λμμ μ΄κΈ°ν
int nArray[][];
int[][] nArray;
nArray = new int[2][2];
int[][] nArray = new int[2][2];
int[][] nArray;
nArray = new int[3][];
nArray[0] = new int[2];
nArray[1] = new int[3];
nArray[2] = new int[5];
int[][] nArray = new int[2][2];
nArray[0][0] = 1;
nArray[0][1] = 2;
nArray[1][0] = 3;
nArray[1][1] = 4;
int[][] nArray1 = {{1, 2}, {3, 4}};
int[][] nArray2 = {{1, 2}, {3, 4, 5, 6}};
π JAVA ν΄λμ€
π ν΄λμ€
β κ°λ
1) νμ
- λ©€λ²λ³μ (νλ) : ν΄λμ€ μμ μ μΈλ λ³μ
- κ³΅μ© λ³μ (μ μ λ³μμ μ μ¬)
- ν΄λμ€ μμμ μ¬μ©
- λ©μλ (method) : ν΄λμ€ μμ μ μΈλ ν¨μ
class ν΄λμ€λͺ
{
}
β κ°μ²΄ μμ±κ³Ό μ¬μ©
1) new
- λ©€λ²λ³μμ λ©μλμ μ κ·Ό
public static void main(String[] args)
{
Book JavaBook = new Book();
JavaBook.SetTitle("Java Programming");
System.out.println("Book Title" + JavaBook.GetTitle());
}
β μ κ·Ό μ μ΄μ
- private :
ν΄λμ€
μμμλ§ μ κ·Ό κ°λ₯
- public :
μ 체
μ κ·Ό κ°λ₯
- protected :
κ°μ ν΄λμ€
μ ν¨ν€μ§
+ νμ ν΄λμ€
μμ μ κ·Ό κ°λ₯
- friendly or μλ΅ :
κ°μ ν΄λμ€
μ ν¨ν€μ§
μμμλ§ μ κ·Ό κ°λ₯
public int m_nVar;
private int GetVar()
{
return m_nVar;
}
β μ€λ²λ‘λ©
- μ€λ³΅λλ λ©μλλͺ
μ ν΄λμ€ μμμ μ μ κ°λ₯
- κ°μ ν¨μλͺ
μΌλ‘ λ€μν κ°μ λ°μ μ²λ¦¬
β μμ±μ
- κ°μ²΄κ° μμ±λ λ 1λ² νΈμΆλλ λ©μλ (μλ νΈμΆ)
- 리ν΄νμ΄ μκ³ , ν΄λμ€λͺ
=ν¨μλͺ
- public νμ
class MyClass
{
public MyClass() {
}
public MyClass(int nVar1, int nVar2) {
}
}
β this, this()
- κ°μ²΄ μμ μ μ°Έμ‘°νλ μ°Έμ‘°ν ν΄λμ€λ³μ/ν€μλ
- this.λ©€λ²λ³μ
- this.λ©μλ()
- this
- this μ¬μ© μ μ κ°μ²΄ μμ±μ΄ λμ΄μΌν¨
- this()
- μμ±μμμ λ λ€λ₯Έ μμ±μ νΈμΆ (첫 μ€μμ νΈμΆ)
class A
{
public int m_nVar;
public float m_fVar = 0.5f;
public void SetPrint(int nVar)
{
this.m_nVar = nVar;
this.Print();
}
public A()
{
this(3.14f);
m_nVar = 12;
}
public A(float fVar)
{
m_fVar = fVar;
}
}
β static
1) νμ
- μ κ·Όμ μ΄μ static λ°μ΄ν°ν λ©€λ²λ³μλͺ
;
- μ κ·Όμ μ΄μ static 리ν΄ν λ©μλλͺ
(...);
2) νΉμ§
- λ©€λ²λ³μλ μμ±λλ λͺ¨λ κ°μ²΄μμ μ μλ³μλ‘ μ¬μ©
- static λ©€λ²λ³μμ λ©μλ 곡ν΅μ
- κ°μ²΄κ° μμ±λκΈ° μ΄μ μ λ©€λ²λ³μμ λ©μλ μ¬μ© κ°λ₯
3) μ¬μ©κ·μΉ
- static λ©μλ μμμ λ©€λ² λ³μλ₯Ό μ¬μ©ν λ νμ static μ μΈ
- static λ©μλλ κ°μ λ©μλ μμ λ©μλλ§ νΈμΆ κ°λ₯
- static λ©μλ μμμλ this μ¬μ© λΆκ°
- static λ©μλλ μ€λ²λΌμ΄λ© λΆκ°
β packageμ import
1) package κ°λ
- μμ£Ό μ¬μ©λλ ν΄λμ€λ₯Ό λͺ¨μλ ν΄λ
- package ν¨ν€μ§λͺ
; (μλ¬Έμ)
- package mypackage.utility;
2) import κ°λ
- ν΄λμ€λ₯Ό ν¬ν¨νκ³ μ ν κ²½μ° (#include μν )
- import ν¨ν€μ§λͺ
.ν΄λμ€λͺ
;
- import ν¨ν€μ§λͺ
.*;
π μμ
β λ©€λ² μμ
1) κ°λ
- κ°μ²΄λ₯Ό μ°κ΄μν€κ³ κ³μΈ΅κ΅¬μ‘°λ₯Ό λ§λ€μ΄ μ½λ μ¬μ¬μ©ν¨
- μ€μ§ ν ν΄λμ€λ§ μμ κ°λ₯
- μ’
λ₯
- λΆλͺ¨ ν΄λμ€ (= μμ ν΄λμ€, super ν΄λμ€)
- μμ ν΄λμ€ (= νμ ν΄λμ€, sub ν΄λμ€)
2) μμ νμ
- class ν΄λμ€λͺ
(μμ) extends μμ ν΄λμ€λͺ
(λΆλͺ¨)
- μ΅μμ λΆλͺ¨ ν΄λμ€ : Object
- μμ ν΄λμ€μ μ κ·Όμ§μ μμ λ°λΌ μ κ·Όμ΄ μ ν
3) λ©€λ² μμ
- μμ ν΄λμ€μ μ§μ λ
private
λ©€λ²
- ν΄λΉ ν΄λμ€μμλ§ μ¬μ©O
- νμ ν΄λμ€λ μ¬μ©X
- μμ ν΄λμ€μ μ§μ λ
public
- ν΄λΉ ν΄λμ€μ νμ ν΄λμ€μμ μ¬μ©O
- μΈλΆμμλ μ¬μ©O
- μμ ν΄λμ€μ μ§μ λ
protected
- κ°μ ν¨ν€μ§μΌ κ²½μ°λ public λ©€λ²μ²λΌ μ¬μ©O
- λ€λ₯Έ ν¨ν€μ§μΈ κ²½μ°λ μμ λ©€λ²λ₯Ό νμ ν΄λμ€ μμμλ§ μ¬μ©O, μΈλΆλ μ¬μ©X
- μμ ν΄λμ€μ μ§μ λ
default
- κ°μ ν¨ν€μ§μΌ κ²½μ°λ public λ©€λ²μ²λΌ μ¬μ©O
- λ€λ₯Έ ν¨ν€μ§μΌ κ²½μ°λ νμ ν΄λμ€μμ μμ ν΄λμ€ default λ©€λ² μ¬μ©X, μΈλΆμμλ μ¬μ©X
κ΅¬λΆ | ν΄λμ€ λ΄λΆ | νμ ν΄λμ€ | μΈλΆ |
---|
private | μ¬μ© κ°λ₯ | μ¬μ© λΆκ° | μ¬μ© λΆκ° |
public | μ¬μ© κ°λ₯ | μ¬μ© κ°λ₯ | μ¬μ© κ°λ₯ |
protected | μ¬μ© κ°λ₯ | μ¬μ© κ°λ₯ | (κ°μ ν¨ν€μ§) μ¬μ© κ°λ₯, (λ€λ₯Έ ν¨ν€μ§) μ¬μ© λΆκ° |
friendly | μ¬μ© κ°λ₯ | (κ°μ ν¨ν€μ§) μ¬μ© κ°λ₯, (λ€λ₯Έ ν¨ν€μ§) μ¬μ© λΆκ° | (κ°μ ν¨ν€μ§) μ¬μ© κ°λ₯, (λ€λ₯Έ ν¨ν€μ§) μ¬μ© λΆκ° |
class A
{
public int m_nVar1 = 11;
public void PrintA() {
System.out.println("A Class" + m_nVar1);
}
}
class B extends A
{
public void Printc() {
PrintA();
System.out.println(m_nVar1);
}
}
β μ€λ²λΌμ΄λ©
λΆλͺ¨ ν΄λμ€
μ λ©μλλ₯Ό μμ ν΄λμ€
μμ λ€μ μ¬μ μνλ κ²
- μ£Όμ μ¬ν
- ν¨μλͺ
μ΄ κ°μμΌ ν¨
- ν¨μμ 맀κ°λ³μκ° κ°μμΌ ν¨
- 리ν΄νμ΄ κ°μμΌ ν¨
β final
1) finalμ΄ ν΄λμ€μ λ©μλμ λΆλ κ²½μ°
μμ
κ³Ό μ€λ²λΌμ΄λ©
λΆκ°
- ν΄λμ€μ λ©μλ 맨 μμͺ½μ μμΉ
2) finalμ΄ λ³μμ λΆλ κ²½μ°
- λ³μμ κ° μμ λΆκ°
final class A
{
final void Print() {System.out.println("");}
}
class B extends A
{
static final float m_nVar = 3.14f;
public void Print() {System.out.println("");}
public static void main (String[] args) {
m_nVar = 0.5f;
}
}
β μμκ΄κ³μμ μμ±μ νΈμΆ μμ
1) μμ ν΄λμ€ μμ±μ β‘ νμ ν΄λμ€ μμ±μ νΈμΆ
2) μμ±μμ 맀κ°λ³μκ° μλ κ²½μ° μλνΈμΆX (super ν€μλ μ¬μ©)
β super
- νμ ν΄λμ€μμ μμ ν΄λμ€λ₯Ό μ°Έμ‘°νμ¬ μ κ·Όν λ μ¬μ© (μμ ν΄λμ€μ μ°Έμ‘°λ³μ λμ )
- super.λ©€λ²λ³μλͺ
- super.λ©μλλͺ
(맀κ°λ³μ)
- μ¬μ©
- νμ ν΄λμ€μμ μμ ν΄λμ€μ λ©μλ/λ³μλ₯Ό νΈμΆν λ μ¬μ©
- νμ ν΄λμ€μμ μμ ν΄λμ€μ μμ±μλ₯Ό νΈμΆν λ super(맀κ°λ³μ)/super() μ²λΌ μ¬μ©
β μ°Έμ‘°λ³μλ₯Ό μ΄μ©ν ν λ³νκ³Ό νΈμΆ
- μΊμ€νΈ μ°μ°μ μ¬μ©
()
- ν λ³νμ κ·μΉ
- νμ ν΄λμ€μμ μμ ν΄λμ€λ‘ ν λ³ν κ°λ₯
- μμ±λ νμ ν΄λμ€μμ μμ ν΄λμ€ ν λ³νμ ν΅ν΄ νμ ν΄λμ€μ λ©€λ²μ μ κ·ΌX
- μμ ν΄λμ€μ λ©μλκ° νμ ν΄λμ€μ μ€λ²λΌμ΄λ©(μ¬μ μ)λ κ²½μ°, μμ ν΄λμ€ μ°Έμ‘°λ³μμμ μ€λ²λΌμ΄λ©λ λ©μλλ₯Ό νΈμΆνλ©΄ νμ ν΄λμ€μ λ©μλ μ€ν
π μΆμ ν΄λμ€
β κ°λ
- νμμμ ꡬνν
λ©μλμ μν
μ κ°μ§ μμ ν΄λμ€ (μμ ν΄λμ€λ§ μ‘΄μ¬)
- μ체λ₯Ό κ°μ²΄λ‘ μμ±ν μ μμ
abstract class ν΄λμ€λͺ
{
μΌλ° λ©€λ² λ³μ;
λ©μλ;
μμ±μ;
abstact λ°νλͺ
λ©μλλͺ
();
}
- extends ν€μλλ₯Ό μ΄μ©νμ¬ μΆμ ν΄λμ€λ₯Ό μμ
- μΆμ λ©μλλ₯Ό νμμμ λͺ¨λ ꡬνν νμX
π μΈν°νμ΄μ€
β
π λ΄λΆ ν΄λμ€μ μ΅λͺ
ν΄λμ€
β
π μ μ©ν ν΄λμ€λ€
β
π 컬λ μ
ν΄λμ€
β
π GUI, AWTμ μ€μ(swing)
β
π JAVA μμΈμ²λ¦¬ / μ΄λ²€νΈμ²λ¦¬
π μμΈμ²λ¦¬
β
π μ΄λ²€νΈ μ²λ¦¬
β
β‘
| μμ± | μ€λͺ
|--------------|:-------------------------------------------|
| | |
πμΆμ²π
μΈνλ° μλ°(JAVA) μΈμ΄ κΈ°λ³Έ κ°μ’