π 2023λ 12μ 19μΌ
[java 11μΌμ°¨]
μμ΄
nPn = n!
μκ° λ³΅μ‘λ : O(N!)
[1,2,3] κ³Ό [3,2,1]λ₯Ό λ€λ₯΄κ² νλ¨νλ€. (μμ O)
μ‘°ν©
nCr = n! / (n-r)! (r)!
μκ° λ³΅μ‘λ : O(2^N)
[1,2,3] κ³Ό [3,2,1]λ₯Ό κ°λ€κ³ νλ¨νλ€. (μμ X)
νλ‘κ·Έλλ¨Έμ€ λ¬Έμ : νΌλ‘λ
- javaμμλ μ½λμ μ¬μ¬μ©κ³Ό μ μ§λ³΄μμ μ©μ΄μ±μ μν΄ μμμ μ§μνλ€.
- ν΄λμ€κ°μ μμμμλ 'extends' ν€μλλ₯Ό μ΄μ©ν΄ μμμ΄ κ°λ₯νλ€.
- λ€μ€μμμ μ§μνμ§ μκ³ λ¨μΌ μμλ§ μ§μνλ€.
μ κ·Όμ μ΄μ
- private : ν΄λΉ ν΄λμ€ μμμλ§ μ κ·Όμ΄ κ°λ₯
- default : λμΌ ν¨ν€μ§ μμμλ§ μ κ·Ό (μ κ·Όμ μ΄μλ₯Ό λ³λλ‘ μ€μ νμ§ μμΌλ©΄ μλμΌλ‘ defaultμ€μ )
- protected : λμΌ ν¨ν€μ§μ ν΄λμ€ λλ ν΄λΉ ν΄λμ€λ₯Ό μμλ°μ ν΄λμ€μμλ§ μ κ·Ό
- public : μ΄λ€ ν΄λμ€μμλ μ κ·Όμ΄ κ°λ₯
public class C1303_Method_Overriding { public static void main(String[] args) { // μμ κ΄κ³μΌ λ λΆλͺ¨ ν΄λμ€ νμ μ μμ ν΄λμ€ κ°μ²΄μ νμ μΌλ‘ μ§μ κ°λ₯ Animal d = new Dog(); Cat c = new Cat(); d.sound(); // Animal ν΄λμ€μ μ μλ 맀μλλ§ μ¬μ© κ°λ₯νλλ‘ μ μ½μ΄ λ°μ // d.sound2(); c.sound(); List<String> list = new LinkedList<>(); } } class Animal{ void sound(){ System.out.println("λλ¬Όμ μ리λ₯Ό λ λλ€."); } } class Dog extends Animal { @Override void sound() { System.out.println("λ©λ©"); } void sound2(){ System.out.println("λλ¬Όμ μ리λ₯Ό λ λλ€.2"); } } class Cat extends Animal { @Override void sound() { System.out.println("μΌμΉ"); } }
// super(); = λΆλͺ¨ν΄λμ€μ μμ±μ μλ―Έ // super ν€μλ = λΆλͺ¨ν΄λμ€ μλ―Έ; public class C1302_SuperChildClass extends SuperParents{ int b; int a; C1302_SuperChildClass(){ super(100); this.a = 30; this.b = 20; } void display(){ System.out.println(a); System.out.println(b); System.out.println(super.a); } public static void main(String[] args) { C1302_SuperChildClass sc = new C1302_SuperChildClass(); sc.display(); sc.display2(); } } class SuperParents{ int a; SuperParents(int a){ this.a = a; } void display2(){ System.out.println("λΆλͺ¨ λμ€νλ μ΄"); } }