νμ΅ λ΄μ©
- μμ
- instanceof λΆλͺ¨ν΄λμ€μ μΈμ€ν΄μ€λ‘ μμ±λ μμ ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μ°Ύμμ£Όλ μμ½μ΄
for (int i = 0; i < scArr.length; i++) {
if(scArr[i] instanceof ChildOne) { // λΆλ¦°κ°μΌλ‘ λνλΈλ€.
System.out.println("true");
}
}
(cast λ³νμ ν·κ°λ¦¬λ λΆλΆμ΄λ κ³μν΄μ λ΄μ κΌ μ΄ν΄ν κ².)
public class MainClass {
public static void main(String[] args) {
ChildClass cc = new ChildClass();
cc.method();
ParentClass pc = new ChildClass(); //Parent μ£Όμκ°μ κ°μ§ ChildClass μΈμ€ν΄μ€(pc) μμ±
//cast λ³ν
ChildClass c= (ChildClass)pc;
c.func(); // pc μΈμ€ν΄μ€μ .func λ©μλλ Childμμ. but Parent μ£Όμκ°μ κ°μ§κ³ μκΈ° λλ¬Έμ μ¬μ©μ΄ μλλ€.
// cast λ³νμ ν΅ν΄ pcμ μ£Όμκ°μ Childλ‘ λ°κΎΌ μΈμ€ν΄μ€ cλ .func λ©μλ μ¬μ©μ΄ κ°λ₯ν΄μ§λ€.
}
- final
λ³μλ₯Ό μμλ‘
package main;
public class MainClass {
public static void main(String[] args) {
/*
final : const(C++) define
λ³μ, λ©μλ, ν΄λμ€
*/
final int NUMBER = 1; // λ³μλ₯Ό μμ(λ³ν μ μλ μ)λ‘
// λλ¬Έμλ‘ μμ±νλ κ΄λ‘κ° μλ€.
// NUMBER = 2; --> Error // λ€λ₯Έ κ°μΌλ‘ λ³νμ΄ λΆκ°λ₯νλ€
int num;
num = NUMBER; // μ΄λ° μμΌλ‘ λμ
μ©μΌλ‘ μ¬μ©
}
}
//////////////////////////////////////////////////
package cls;
// ν΄λμ€ μμ finalμ λ£μΌλ©΄ μμκΈμ§
public /*final*/ class SuperClass {
//λ©μλ μμ final λ£μΌλ©΄ Over Ride κΈμ§
public /*final*/ void method() {
}
}
class ChildClass extends SuperClass {
//Error
public void method() { //Over Ride
//Error
}
}
- Static
λ‘컬λ³μ, λ©€λ²λ³μ, μ€νν±λ³μμ μ°¨μ΄λ₯Ό νμ€ν μκ³ λμ΄κ°μ.
μ€νν± λ³μμ λ©μλλ static μμμ μ μ₯λμ΄ μκ³ , νλ‘κ·Έλ¨ μ’ λ£ μ κΉμ§ ν λΉλμ΄ μλ€.
(μ€νν± λ³μλ₯Ό λ§μ΄ μ μν΄λλ©΄ κ·Έλ§νΌ static μμμ ν λΉλλ λ°μ΄ν°κ° λ§μμ§κΈ° λλ¬Έμ μ μ μλ‘ μ’κ³ ,
μ€νν± λ©μλλ λ€μ νμ©μ΄ κ°λ₯νκΈ° λλ¬Έμ λ§μ΄ νμ©ν΄λ μ’λ€.)
package main;
public class MainClass {
public static void main(String[] args) {
/*
static == μ μ <==> dynamic
*/
MyClass cls = new MyClass(); // cls μΈμ€ν΄μ€ μμ±
cls.function(); //localλ³μ : 1 memberλ³μ : 1 staticλ³μ : 1
cls.function(); //localλ³μ : 1 memberλ³μ : 2 staticλ³μ : 2
cls.function(); //localλ³μ : 1 memberλ³μ : 3 staticλ³μ : 3
MyClass cls1 = new MyClass(); // cls1 μΈμ€ν΄μ€ μμ±
cls1.function(); //localλ³μ : 1 memberλ³μ : 1 staticλ³μ : 4
cls1.function(); //localλ³μ : 1 memberλ³μ : 2 staticλ³μ : 5
//λ‘컬λ³μλ λ©μλλ₯Ό μ€νμν¬λ μ΅μ΄κ°μΌλ‘ μ¬μ μ
//λ©€λ²λ³μλ νλμ μΈμ€ν΄μ€ μμμ κ°μ΄ μ μλκ³
//μ€νν±λ³μλ μ¦κ°κ°μ΄ 곡μ κ°λμ΄ μΈμ€ν΄μ€κ° λ°λ νμλ κ³μ μ¦κ°νλ λͺ¨μ΅μ λ³Ό μ μλ€.
}
}
/////////////////////////////////////////
package main;
public class MyClass {
public int number; //λ©€λ² λ³μ --> Heap
static int staticVar; // global variable -> static = νλ‘κ·Έλ¨ μ’
λ£λ λκΉμ§ μ΄λμλ μ§ μ¬μ©κ°λ₯νλ€.
public void method(int n) { // λ§€κ° λ³μ --> Stack
int num; // μ§μ λ³μ --> Stack
}
public void function() {
int _num = 0;
_num++;
number++;
MyClass.staticVar++;
System.out.println("localλ³μ _num = " + _num);
System.out.println("memberλ³μ number = " + number);
System.out.println("staticλ³μ staticVar = " + MyClass.staticVar);
}
}
static λ©μλλ ν΄λμ€ μ΄λ¦μΌλ‘ νΈμΆνλ€.
static λ©μλ μμλ λ©€λ²λ³μ or method() or this μ κ·Ό λΆκ°
cls.method(); // λ©€λ² λ©μλ. μΈμ€ν΄μ€ λ©μλ.
MyClass.staticMethod(); // staticλ©μλ. μΈμ€ν΄μ€λ₯Ό ν΅ν΄ νΈμΆ κ°λ₯νμ§λ§ ν΄λμ€λͺ
μΌλ‘ νΈμΆν΄μΌ μ μμ μΌλ‘ μλνλ€.
- Abstract Class : μΆμ -> AWT
μΆμ λ©μλλ₯Ό νλ μ΄μ ν¬ν¨νκ³ μλ ν΄λμ€
abstract method : λ΄μ©μ μκ³ μ μΈλ§ λμ΄ μλ λ©μλ
prototype(μ¬μ : 맀κ°λ³μμ 리ν΄κ°) μ κ°μ§κ³ μμ§λ§ body(λͺΈμ²΄)λ₯Ό κ°μ§κ³ μμ§ μλ€.
λ€μκ³Ό κ°μ΄ μ μνλ€.
public abstract void method();
abstract class : μΌλ°λ©μλ + μΆμλ©μλ + λ©€λ²λ³μ
- interface : μΆμλ©μλ
ν¬ν¨νλ λ©μλκ° μ μΈλ§ λμ΄ μλ κ².
λ€μ€ μμμ΄ κ°λ₯νλ€.
λΉ λ₯΄κ² ν΄λμ€μ λ΄μ©μ νμ
ν μ μλ μ .
νμ₯μ±, κ΄λ¦¬λͺ©μ μ κ°κ³ μλ€.
(μ§λκ° λΉ λ₯΄κ² λμ΄κ°μ μΆμ+μΈν°νμ΄μ€μ λν κ°λ μ΄ νμ€ν μ‘νμμ§ μλ€.. νμ€ν μ§κ³ λμ΄κ°μ)
package main;
//μΈν°νμ΄μ€λͺ
μμ interfaceλ₯Ό λΆμ¬μ€λ€.
public interface MyInterface {
// private int number; --> λ³μ μ μΈ λΆκ°
// public void name() { --> μΌλ° λ©μλ μ μΈ λΆκ°
// }
public void method(int i); // λ€μκ³Ό κ°μ΄ μΆμλ©μλλ§ μ μΈν΄λλ€.
}
'π» κ°λ° > π TIL (Today I Learned)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
21.02.01 TIL (D+16 JAVA ArrayList, μ λ€λ¦) (0) | 2021.02.01 |
---|---|
JAVA μ μκ΄λ¦¬ νλ‘κ·Έλ¨ λ§λ€κΈ° (0) | 2021.02.01 |
21.01.27 TIL (D+13 JAVA μμ±μ, μμ, μλμ±) (0) | 2021.01.27 |
21.01.25 TIL (D+11 JAVA μμΈμ²λ¦¬, File μ μΆλ ₯) (0) | 2021.01.25 |
21.01.22 TIL (D+10 JAVA μΊλ¦°λ, μ£Όμλ‘ λ§λ€κΈ°) (0) | 2021.01.22 |