[JAVA] classλ?
in Tech-Stack on JAVA
Contents
- Classλ?
- Class λͺ λͺ κ·μΉ
- Classμ λ©€λ² κ΅¬μ± - field, constructor, method
- μμ
Class
μλ£ν μ€ νλλ‘ κ°μ²΄λ₯Ό μ μν΄ λμ κ²μ΄λ€.
κ΄λ ¨ μλ μμ±κ³Ό νμ(κΈ°λ₯)λ₯Ό λ¬Άμ(λ©€λ²)μΌλ‘ κ΄λ¦¬νλ€.
νλμ ν΄λμ€ νμΌ(.class)μλ λ°λμ νλμ μλ° ν΄λμ€λ§ ν¬ν¨λμ΄μΌ νλ€.
final ν€μλκ° λΆμ ν΄λμ€λ μμμ΄ λΆκ°λ₯ν ν΄λμ€κ° λλ€.(ex. String class)
1. ν΄λμ€ λͺ λͺ κ·μΉ
- νλ μ΄μμ λ¬Έμλ‘ μ΄λ£¨μ΄μ ΈμΌ νλ€.
- 첫 λ²μ§Έ κΈμμλ μ«μκ° μ¬ μ μλ€.
- 첫 λ²μ§Έ κΈμλ λλ¬Έμλ‘ μμ±νλ€.
- μλ° λͺ λ Ήμ΄, ν€μλλ μ¬μ©ν μ μλ€.(while, for, int λ±)
- $, _ μΈμλ νΉμλ¬Έμ μ¬μ© λΆκ°λ₯
2. ν΄λμ€ λ©€λ² κ΅¬μ±
νλ(field), μμ±μ(constructor), λ©μλ(method)λ‘ μ΄λ£¨μ΄μ Έ μλ€. μ΄ κ΅¬μ± λ©€λ²λ€μ μλ΅λκ±°λ μ¬λ¬ κ° μμ±λ μ μλ€.
- νλ : κ°μ²΄μ λ°μ΄ν°κ° μ μ₯λλ κ³³
- λ³μμ μ μΈκ³Ό λΉμ·νμ§λ§ λ³μλ μμ±μμ λ©μλ λ΄μμλ§ μ¬μ©λκ³ μμ±μμ λ©μλκ° μ’ λ£λλ©΄ μλμΌλ‘ μλ©Έλλ€.
- ν΄λμ€ μ μΈ λ°λ‘ μλμ μ μΈλλ©°, μμ±μμ λ©μλλ³΄λ€ μμ μ μΈλλ€.
class TV{ // field μ리 boolean power; int channel; }
- μμ±μ
- κ°μ²΄λ₯Ό μ΄κΈ°ν νκΈ° μν΄ μ¬μ©νλ€.
- ν΄λμ€λͺ κ³Ό λμΌν μ΄λ¦μ λ©€λ² λ©μλ
- κ°μ²΄ μμ± μ λ°λμ νΈμΆλλ€(ex.
new Info()) - μΈμκ° μλ μμ±μλ₯Ό default constructorλΌκ³ λΆλ₯Έλ€.
- λν΄νΈ μμ±μλ λ°λ‘ μ μνμ§ μμλ JVMμ΄ μμμ νΈμΆ ν΄μ€λ€.
- μ€λ²λ‘λ©μ΄ κ°λ₯νλ€. => κ°μ²΄ μμ±νλ λ°©λ²μ λ€μνκ² μ 곡ν μ μλ€.
- μ€λ²λ‘λ©ν κ²½μ° default μμ±μλ₯Ό λͺ μνμ§ μμΌλ©΄ default μμ±μλ μ¬μ©ν μ μλ€.
Info(String s){...}λ§ μ€λ²λ‘λ©ν κ²½μ° ->new Info()λ μλ¬ λ°μ// Info class public class Info() { // field private String name; private int age; // Default Constructor Info() { System.out.println("hi"); } // constructor overloading Info(String n, int a) { this.name = n; this.age = a; } ... }
- λ©μλ
- κ°μ²΄μ νμλ₯Ό μ€μ νλ κ³³
class TV { ... // λ©μλ μμ void view(){ System.out.println("TVμ νλ©΄μ λλ€."); } }
- κ°μ²΄μ νμλ₯Ό μ€μ νλ κ³³
3. μμ
- Info class
class Info { String name; int age; String infoToString() { return "Info[name = " + name + ", age = " + age + "]"; } } - main class
public static void main(String[] args){ // Infoλ ν΄λμ€ μλ£νμ΄λΌμ λ°°μ΄μ μλ£νμ΄ λ μ μλ€. Info[] infos = new Info[2]; // Info κ°μ²΄ μμ± infos[0] = new Info(); infos[0].name = "νκΈΈλ"; infos[0].age = 20; infos[1] = new Info(); infos[1].name = "μ΄μμ "; infos[1].age = 30; System.out.println(infos[0].infoToString()); System.out.println(infos[1].infoToString()); }
