-
[Java] μλ° ν΄λμ€, κ°μ²΄Android/Java 2021. 1. 18. 00:54λ°μν
- μ΄ κΈμ "μ¨λΌμΈ μλ° μ€ν°λ λ΄μ©"μ μ 리ν κΈμ λλ€.
ν΄λμ€λ?
ν΄λμ€λ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μμ κ°μ²΄λ₯Ό μ μνκ³ μ¬μ©ν μ μλλ‘ μ€κ³νλ μλ―Έλ‘ μ¬μ©λ©λλ€.
μλ°μμλ ν΄λμ€λ₯Ό κ°μ§κ³ , μ¬λ¬ κ°μ²΄λ₯Ό μμ±νκ³ μ¬μ©ν©λλ€.
ν΄λμ€λ κ°μ²΄μ μνλ₯Ό λνλ΄λ λ³μ(variable)μ κ°μ²΄μ νλμ μ μνλ λ©μλ(method)λ‘ κ΅¬μ±λ©λλ€.
μλ°μμλ mainμ μ€ννκΈ° μν΄μλ μ΅μν νλμ ν΄λμ€κ° μ‘΄μ¬ν΄μ¬ μ€νν μ μμ΅λλ€.
public class Point { private int y; private int x; public Point(int y, int x) { this.y = y; this.x = x; } public int getY() { return y; } public int getX() { return x; } public void setY(int y) { this.y = y; } public void setX(int x) { this.x = x; } }
λ€μκ³Ό κ°μ΄ ν΄λμ€λ₯Ό μ μν μ μμ΅λλ€. ν΄λμ€μ ν¬ν¨λ λ³μλ€λ‘ 곡ν΅λ μμ±μ μ μνκ³ λ©μλλ₯Ό μ΄μ©νμ¬ νΉμ νλμ ν μ μκ² λ©λλ€.
κ°μ²΄λ?
μ€μνμμ νΉμ μ¬λ¬Όλ€μ νλ‘κ·Έλλ°μΌλ‘ νννλ κ²μ κ°μ²΄λΌκ³ ν©λλ€.
μ΄λ¬ν κ°μ²΄μ μνμ νλμ ꡬ체ννλ ννμ νλ‘κ·Έλλ°μ΄ κ°μ²΄μ§ν₯νλ‘κ·Έλλ°μ λλ€.
ν΄λμ€λ‘ μ μκ° λ ν, new ν€μλλ₯Ό μ¬μ©νμ¬ κ°μ²΄ μμ±μ ν μ μμ΅λλ€.
κ°μ²΄λ₯Ό μμ±νμ¬ λ©λͺ¨λ¦¬μ ν λΉλλλ° λ©λͺ¨λ¦¬μ ν λΉλ κ°μ²΄λ₯Ό μΈμ€ν΄μ€λΌκ³ ν©λλ€.
public class Main { public static void main(String[] args) { // μΈμ€ν΄μ€ μμ± Point point = new Point(2,3); Point point2 = new Point(3,4); } }
λ©μλ
λ©μλλ μ΄λ ν νΉμ μμ μ μννκΈ° μν λͺ λ Ήλ¬Έμ μ§ν©μ΄λΌκ³ ν©λλ€.
ν΄λμ€ λ΄λΆμ μ μΈλ λ©μλλ κ°μ²΄λ₯Ό μ΄μ©νμ¬ μ¬μ©ν μ μμ΅λλ€.
κ°μ²΄μ§ν₯μ μ 보 μλ νΉμ§μ μ¬μ©μκ° κ΅³μ΄ μ νμκ° μλ μ 보λ μ¬μ©μλ‘λΆν° μ¨κ²¨μΌ νλ€λ κ°λ μ λλ€.
μ κ·Ό μ μ΄μλ₯Ό μ¬μ©νμ¬ μ 보 μλ κΈ°λ₯μ μ 곡ν μ μμ΅λλ€. (ex. private or public)
public class Point { private int y; private int x; public Point(int y, int x) { this.y = y; this.x = x; } // μ¬λ¬ λ©μλκ° μ‘΄μ¬ν μ μμ΅λλ€. public void sum(Point p){ this.y += p.y; this.x += p.x; } public void sub(Point p){ this.y -= p.y; this.x -= p.x; } public void mul(Point p){ this.y *= p.y; this.x *= p.x; } public void div(Point p){ this.y /= p.y; this.x /= p.x; } public int getY() { return y; } public int getX() { return x; } public void setY(int y) { this.y = y; } public void setX(int x) { this.x = x; } }
public class Main { public static void main(String[] args) { // μΈμ€ν΄μ€ μμ± Point point = new Point(2,3); Point point2 = new Point(3,4); // sum λ©μλ μ€ν μ y = 2 , x = 3 System.out.println(point.getY()+", "+point.getX()); // sum λ©μλ μ€ν point.sum(point2); // sum λ©μλ μ€ν ν y = 5, x = 7 System.out.println(point.getY()+", "+point.getX()); } }
μμ±μλ?
κ°μ²΄λ₯Ό μμ±ν λ μ€νλλ κ²μΌλ‘, κ°μ²΄μ λ³μλ€μ μ΄κΈ°νν΄μ£Όκ±°λ νμν λ³μλ€μ μ€μ νλ λ©μλμ λλ€.
ν΄λμ€ λ΄μλ μμ±μκ° μ΅μ 1κ° μ΄μμ μ‘΄μ¬ν΄μΌ νκ³ , λ¦¬ν΄ νμ μ΄ μμ΅λλ€.
μμ±μλ₯Ό μ¬λ¬ κ°λ₯Ό λ§λ€μ΄ μνλ λ³μλ€λ§ μ΄κΈ°ν ν μ μμ΅λλ€.
public class Point { private int y; private int x; // κΈ°λ³Έ μμ±μ public Point(){ } public Point(int y) { this.y = y; } public Point(int y, int x) { this.y = y; this.x = x; } public void sum(Point p){ this.y += p.y; this.x += p.x; } public void sub(Point p){ this.y -= p.y; this.x -= p.x; } public void mul(Point p){ this.y *= p.y; this.x *= p.x; } public void div(Point p){ this.y /= p.y; this.x /= p.x; } public int getY() { return y; } public int getX() { return x; } public void setY(int y) { this.y = y; } public void setX(int x) { this.x = x; } }
this ν€μλ
ν΄λμ€ λ΄λΆμμ κ°μ²΄ μκΈ° μμ μ λνλ΄λ ν€μλλ‘ this ν€μλλ₯Ό μ¬μ©ν©λλ€.
ν΄λμ€μ μμ±κ³Ό λ©μλμ 맀κ°λ³μ(parameter)μ μ΄λ¦μ΄ κ°μ κ²½μ° ν€μλλ₯Ό μ¬μ©ν©λλ€.
ν΄λμ€μ μ€λ²λ‘λ©λ λ€λ₯Έ μμ±μλ₯Ό νΈμΆν λλ μ¬μ©ν©λλ€.
ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό λ°νν λλ μ¬μ©ν©λλ€.
public class Point { private int y; private int x; // κΈ°λ³Έ μμ±μ public Point(){ } public Point(int y) { this(y,0); } public Point(int y, int x) { this.y = y; this.x = x; } public Point getInstance(){ return this; } public void sum(Point p){ this.y += p.y; this.x += p.x; } public void sub(Point p){ this.y -= p.y; this.x -= p.x; } public void mul(Point p){ this.y *= p.y; this.x *= p.x; } public void div(Point p){ this.y /= p.y; this.x /= p.x; } public int getY() { return y; } public int getX() { return x; } public void setY(int y) { this.y = y; } public void setX(int x) { this.x = x; } }
λ°μν'Android > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] μΆμ ν΄λμ€, Dispatch, final, Object ν΄λμ€ (0) 2021.01.18 [Java] μλ° ν΄λμ€ μμ, λ©μλ μ€λ²λΌμ΄λ© (0) 2021.01.18 [Java] 쑰건문(if, else, else if), λ°λ³΅λ¬Έ(for, while) (0) 2021.01.15 [Java] Github API μ¬μ©λ² (0) 2021.01.14 [Java] JUnit5μ΄λ? JUnit ν μ€νΈ λ°©λ² (0) 2021.01.13