ํ์ต ๋ด์ฉ
- ์ ์ฐจ์งํฅ : ๋ณ์์ ์ธ, ํจ์ -> ์ฐ์ฐ
(์์์งํฅ) -> ex) line 50000 <
์ ์ง๋ณด์x, ์ฌ์ฌ์ฉ์ฑ ๋จ์ด์ง๋ค.
- ๊ฐ์ฒด์งํฅ : ํ๋์ object -> ex ) ์ฃผ์ฌ์ (ํ๋๋ง๋ค์ด๋์ผ๋ฉด ๊ณ์ ์ฌ์ฉ) -> ํ์ฅ์ฑ
์ ์ง๋ณด์ ์ฉ์ด, ์ฌ์ฌ์ฉ์ฑ ์ข๋ค.
์ฝ๋ ์์ฑ์ ์์ด ์ค์ํ *๊ฐ๋
์ฑ*์ด ํฅ์๋๋ค.
- ์์ฑ์ (constructor) :
ํจ์(๋ฉ์๋)
ํด๋์ค๋ช
๊ณผ ๊ฐ๋ค
return๊ฐ์ด ์๋ค
Over Load๊ฐ ๊ฐ๋ฅํ๋ค
class ์์ฑ ์ ์๋ ํธ์ถ
๋ณ๋์ ํธ์ถ ๋ถ๊ฐ
!= ์ด๊ธฐํ
์๋ต ๊ฐ๋ฅ
- ์๋ฉธ์ (destructor) <- ๊ฐ๋น์ง ์ฝ๋ ํฐ --> (์๋ฐ์์ ์์ฐ์ด์ง๋ง ์ด๋ฐ๊ฒ ์๋ค๋ ๊ฒ๋ง ์์๋์.)
๋ฐ๋์ 1๊ฐ
public class TestClass {
int number;
public TestClass() { // ๊ธฐ๋ณธ ์์ฑ์
System.out.println("TestClass TestClass()");
}
public TestClass(char c) { // Over Load : ์
๋ ฅ ํญ๋ชฉ์ด ๋ค๋ฅธ ์์ฑ์๋ฅผ ์ฌ๋ฌ๊ฐ ๋ง๋ค๊ธฐ ๊ฐ๋ฅํ๋ค.
this(); // --> ๊ธฐ๋ณธ ์์ฑ์ ํธ์ถ. ํญ์ ์์ ์์น(๋งจ์)์ ์์ด์ผ ์คํ๊ฐ๋ฅ.
System.out.println("TestClass TestClass(char c)");
}
public TestClass(int i, String s) {
System.out.println("TestClass TestClass (int i, String s)");
}
public void method(int number) {
System.out.println(this);
this.number = number;
//this๋ฅผ ๋ถ์ธ number๋ ๋ฉค๋ฒ๋ณ์. ๋ค์ number๋ ๋ฉ์๋์ ๋ค์ด์จ ๋งค๊ฐ๋ณ์.
}
}
- ์์ (Inheritance)
๋ถ๋ชจ ํด๋์ค -> ์์ ํด๋์ค
package cls;
public class ChildOneClass extends ParantClass /* extends๋ฅผ ํตํด ์์๋ฐ์ ์ ์๋ค.*/ {
public void func() {
Parant_method();
// name = "ํ๊ธธ๋"; --> private ๋ ๋ถ๋ชจํด๋์ค์์๋ ๋ฉค๋ฒ๋ณ์์ฌ๋ ์์ ํด๋์ค์์ ์ฌ์ฉ ๋ถ๊ฐ๋ฅ
name1 = "ํ๊ธธ๋"; //-->protected ๋ฅผ ํตํด์ ์ ๊ทผ ๊ฐ๋ฅ. ํ์ง๋ง ์ธํฐ,๊ฒํฐ๋ฅผ ํตํด private ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ธฐ๋๋ฌธ์ ์ ์ฌ์ฉ๋์ง ์๋๋ค.
}
public void ChildOneMethod() {
System.out.println("ChildOneClass ChildOneMethod()");
}
}
/////////////////////////////////////////////////////
package cls;
public class ParantClass {
private String name;
protected String name1;
public void Parant_method() {
System.out.println("ParantClass Parant_method()");
}
}
//////////////////////////////////////////////////////
package main;
import cls.ChildOneClass;
public class MainClass {
public static void main(String[] args) {
ChildOneClass co = new ChildOneClass();
co.Parant_method();
}
}
- this : ๊ฐ์ฒด ์์ฑ ์์ Heap ์์ญ์ ์ฃผ์
(์๊ธฐ ์์ ์ ์ฃผ์)
- super : ๋ถ๋ชจ ์ฐธ์กฐ(์ฃผ์)
- Over Ride : ๋ถ๋ชจ ํด๋์ค๋ก๋ถํฐ ์์๋ฐ์ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค์์ ๊ณ ์ณ ๊ธฐ์
- ์๋์ฑ, ์บก์ํ (Encapsulation)
์ธ๋ถ์ ๊ทผ ์ ์ด (์ฐจ๋จ, ์ฝ๊ธฐ์ ์ฉ, ํ์ฉ์ฌ๋ถ)
์ ๊ทผ์ง์ ์
private : ๊ฐ์ธ์ ์ธ --> ๊ฐ์ ํด๋์ค์์๋ง ์ฌ์ฉ๊ฐ๋ฅ. ์ธ๋ถ ํด๋์ค ์ ์ ์ฐจ๋จ.
public : ๋์ค์ ์ธ --> ์ด๋ ํด๋์ค์์๋ ์ฌ์ฉ๊ฐ๋ฅ.
protected : (๋ณดํธ)์์์ ๊ด๋ จ --> ์ ์์ฐ์
package my;
public class MyClass {
private int number = 15; //๋ฉค๋ฒ๋ณ์์ ๊ฒฝ์ฐ ๊ฑฐ์ 90%๊ฐ private (๋ณดํธ ์ํด์)
public String name;
protected double height;
//method๋ฅผ ํตํด์ ์ ๊ทผ ์ฌ๋ถ ๊ฒฐ์
public void setNumber(int number) { // setter (setter๋ฅผ ์์ ๊ณ getter๋ง ๋๋๋ฉด ์๋ฃ ์์ ์ด ๋์ง์๊ณ ๊ฐ์ ธ๋ค ์ธ์๋ง ์๊ฒ๋๋ค.)
this.number = number;
}
public int getNumber() { // getter
return number; // ๋งค๊ฐ๋ณ์์ ๋ฉค๋ฒ๋ณ์์ number์ ๊ฐ์ ์ด๋ฆ์ด ์์ผ๋ this๋ฅผ ๋ถ์ด์ง ์์๋ ๋๋ค.
}
}
///////////////////////
package main;
import my.MyClass;
public class MainClass {
public static void main(String[] args) {
MyClass cls = new MyClass();
// cls.number = 1; //private
cls.name = "ํ๊ธธ๋"; //public
// cls.height = 172.1; //protected
cls.setNumber(13);
System.out.println(cls.getNumber());
MyClass cls2 = new MyClass();
System.out.println(cls2.getNumber());
cls2.setNumber(45);
System.out.println(cls2.getNumber());
System.out.println(cls.getNumber());
}
}
ํด์ฆ
import java.util.Scanner;
public class Ex210127_4 {
public static void main(String[] args) {
/*
A์จ๋ ๊ฒ์ํ ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ ์๋ค.
A์จ๋ ๊ฒ์๋ฌผ์ ์ด ๊ฑด์์ ํ ํ์ด์ง์ ๋ณด์ฌ์ค ๊ฒ์๋ฌผ์๋ฅผ ์
๋ ฅ์ผ๋ก ์ฃผ์์ ๋ ์ด ํ์ด์ง์๋ฅผ ๋ฆฌํดํ๋ ํ๋ก๊ทธ๋จ์ด ํ์ํ๋ค๊ณ ํ๋ค.
์
๋ ฅ : ์ด๊ฑด์(m), ํํ์ด์ง์ ๋ณด์ฌ์ค ๊ฒ์๋ฌผ์(n) (๋จ n์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค. n >= 1)
์ถ๋ ฅ : ์ดํ์ด์ง์
A์จ๊ฐ ํ์ํ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์) ํ๋ก๊ทธ๋จ ์ํ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ์ด ๋์์ผ ํจ.
m n ์ถ๋ ฅ
0 1 0
1 1 1
2 1 2
1 10 1
10 10 1
11 10 2
*/
Scanner sc = new Scanner (System.in);
System.out.print("์ด ๊ฑด์ : ");
int textNum = sc.nextInt();
System.out.print("ํ ํ์ด์ง ๊ฒ์๋ฌผ ์ : ");
int pageNum = sc.nextInt();
int page = 0;
if(textNum%pageNum == 0) {
page = textNum/pageNum;
}else if(textNum%pageNum != 0) {
page = textNum/pageNum + 1;
}else if (textNum <= 0) {
page = 0;
}
System.out.println("์ด ํ์ด์ง ์ : " + page);
}
}
์๊ฐ ์ ๋ฆฌ
- ์ค๋ ๋ฐฐ์ด ๋ด์ฉ๋ค์ ์์ ๋ ์ดํด๊ฐ ์ ์๋ ๊น ์ฝ๊ฐ์ ์ ํํ์ต์ ํ๋ ๊ฒ ๋๋ถ์ ์ ๋ฆฌ๊ฐ ์ ๋์๋ค. ํ์ง๋ง ๋ฌธ์ ๋ ์ด๋ฐ ์ด๋ก ๋ค์ ํ์ฉํ์ฌ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋๋ ๋ฐ์ ์์ด ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๊ฐ์ ธ๋ค ์ฐ๋ ๊ฒ์ด๋ค. ํ์์์ ๋ด์ฃผ๋ ๋ฌธ์ ๋ค ๋ง๊ณ ์ธํฐ๋ท์์๋ ์ง๋๋ฒ์ ๋ฐฐ์ ๋ ์ ์ด๋ฌธ์ ํ์ฉํ ๋ฌธ์ ๋ค๋ ํ์ด๋ณด๋ฉด์ ๊ทธ๋ฅ ๋ชธ์ ์ตํ๋ฒ๋ ค์ผ ๊ฒ ๋ค.
- ๊ทธ์ ๊ป ์ ์ฒ๊ธฐ ํ๊ธฐ ์ ์๋ฅผ ์๋ฃํ๋ค. ํ๋ท์ ์ฒ์ ์ด์ฉํด๋ด์ ์ ์ ์์๋ ๋๊ธฐ์๊ฐ ์ด๋ ๊ฒ ๋ชฐ๋ฆฌ๋์ง ์ฒ์ ์์๋ค..
๋คํํ๋ ์ค๋ ๋๊ธฐ๋์ ๋ฌด์ฌํ ์ ์ํ๊ณ , 3์ ์ด์ ์๋ ํ๊ธฐ์ํ๋ ์ฐจ๊ทผ์ฐจ๊ทผ ์ค๋นํด์ผ๊ฒ ๋ค.
- ์๋ฌด๋๋ ๋น์ ๊ณต์ด๋ค๋ณด๋ ๊ฐ๋ฐ๋ถ์ผ์ ๋ํ ๊ธฐ์ด๊ฐ ๋๋ฌด ๋ถ์กฑํ ๋ฏํ์ฌ ์๋ฐ ๊ณต๋ถ๋ฅผ ๋๋ด๊ณ ์งํฌ๋ฆฌ ์๊ฐ์ ๋ฌด์์ ํด๋ณด๋ฉด ์ข์์ง ์ฐพ์๋ณด์๋ค. ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ํญ์ ๋ฆฌ๋ ์ค ๊ด๋ จ ๊ธ์ด ๋ง์ด ์ฌ๋ผ์์ ํญ์ ๊ถ๊ธํ์๋ค.. ๋ฆฌ๋ ์ค..? ์ฐ๋ถํฌ๊ฐ ๋ญ์ง??
๊ฒฐ๊ตญ ๋ด pc์ ๋ฒ์ถ์ผ๋ฐ์ค์ ์ฐ๋ถํฌ๋ฅผ ์ค์นํ๊ณ , ์๊ฐ๋ ๋๋ง๋ค ๊ฐ์ข, ๊ตฌ๊ธ๋ง์ ํตํ์ฌ ๊ฐ์ง๊ณ ๋์๋ณด๊ธฐ๋ก ํ๋ค. ๊ทธ๋ฌ๋ฉด์ ๊ธฐ๋ณธ์ ์ธ ์ด์์ฒด์ ์ ๋คํธ์ํฌ์ ๋ํ ๊ณต๋ถ๋ ๊ฒธํด์ผ๊ฒ ๋ค.
'๐ป ๊ฐ๋ฐ > ๐ TIL (Today I Learned)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JAVA ์ ์๊ด๋ฆฌ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ (0) | 2021.02.01 |
---|---|
21.01.30 TIL (JAVA flnal, static, ์ถ์ ํด๋์ค, ์ธํฐํ์ด์ค) (0) | 2021.01.31 |
21.01.25 TIL (D+11 JAVA ์์ธ์ฒ๋ฆฌ, File ์ ์ถ๋ ฅ) (0) | 2021.01.25 |
21.01.22 TIL (D+10 JAVA ์บ๋ฆฐ๋, ์ฃผ์๋ก ๋ง๋ค๊ธฐ) (0) | 2021.01.22 |
21.01.21 TIL (D+9 JAVA sorting, ๋ฉ์๋) (0) | 2021.01.21 |