1. ๊ฐ์ฒด
Java์ ๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด์ ๋๋ค.
๋ ์ ํํ ๋งํ๋ฉด Java์๋ ๊ฐ์ฒด๊ฐ ์๋ ๊ฒ์ด ๊ฑฐ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ธฐ๋ณธ ์ ํ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ๊ท์น์ ๋ํ ๋ค์ ๋๋ฌธ ์์ธ์ ๋๋ค.
๊ฐ์ฒด๋ ๋ฌด์์ ๋๊น?
๊ฐ์ฒด๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฉ์๋์ ํจ๊ป ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃนํํ๋ ์ํฐํฐ ์ ๋๋ค . "๋ฐ์ดํฐ"๋ผ๊ณ ํ๋ฉด ๋ฌผ๋ก ๋ณ์๋ฅผ ์๋ฏธํฉ๋๋ค.
๊ฐ์ฒด์ ๋ณ์๋ฅผ "๋ฐ์ดํฐ" ๋๋ "์ํ"๋ผ๊ณ ํฉ๋๋ค.
๊ฐ์ฒด์ ๋ฉ์๋๋ ๊ฐ์ฒด์ "๋์"์ด๋ผ๊ณ ํฉ๋๋ค. ๊ฐ์ฒด์ ๋ฉ์๋๋ง ์ฌ์ฉํ์ฌ ๊ฐ์ฒด์ ์ํ(๋ณ์)๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. ๊ฐ์ฒด์ ๋ณ์๋ฅผ ์ง์ ๋ณ๊ฒฝํ๋ ๊ฒ(๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ง ์์)์ ์๋ชป๋ ํ์์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
๋ชจ๋ ๊ฐ์ฒด ์ ๋ชจ๋ ๋ณ์ ์๋ ์ ํ์ด ์์ต๋๋ค . ์ด ์ ํ์ ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ํ ๋ฒ ๊ฒฐ์ ๋๋ฉฐ ๋์ค์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ฐ์ฒด์ ์ ํ์ ํด๋น ํด๋์ค์ ๋๋ค.
๊ฐ ๊ฐ์ฒด์๋ ๊ณ ์ ํ ์ธ์คํด์ค ๋ณ์(ํ๋) ๋ณต์ฌ๋ณธ์ด ์์ต๋๋ค. ๋น์ ์ int ๋ณ์๊ฐ ํด๋์ค์์ ์ ์ธ๋๊ณ ํ๋ก๊ทธ๋จ์์ ํด๋น ํด๋์ค์ ๊ฐ์ฒด 10๊ฐ๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ ๊ฐ ๊ฐ์ฒด๋ ์์ฒด int ๋ณ์๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค.
๊ฐ์ฒด์ ์ํธ ์์ฉ
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ฐ์ฅ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ณ์์ ์ ์ฅํ ๋ค์ ํด๋น ๋ณ์์์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ๋น์ ์๊ฒ ์น์ํ๊ฒ ๋ณด์ผ ๊ฒ์ ๋๋ค:
variable.method()
๋ variable
๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ ๋ณ์์ด๋ฉฐ method
ํด๋น ํด๋์ค์ ๋ฉ์๋์
๋๋ค.
๊ฐ์ฒด์ ํ๋(๋ณ์)๋ฅผ ์ฐธ์กฐํ๋ ค๋ฉด ๋ํธ ์ฐ์ฐ์ ๋ ์ฌ์ฉํด์ผ ํฉ๋๋ค .
variable.field
์ฌ๊ธฐ์ variable
๋ ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ ๋ณ์์ด๋ฉฐ field
์ธ์คํด์ค ๋ณ์(ํ๋)์
๋๋ค.
2. new
์ฐ์ฐ์
ํน์ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ค๋ฉด ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค new
. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Class variable = new Class(arguments);
์ฌ๊ธฐ์ Class
๋ณ์์ ํด๋์ค ์ด๋ฆ variable
๊ณผ ์์ฑํ ๊ฐ์ฒด์ ํด๋์ค ์ด๋ฆ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ variable
์์ฑ๋ ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ ๋ณ์์
๋๋ค. And๋ arguments
์์ฑ์์ ์ ๋ฌ๋ ์ธ์์ ์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก์ ๋ํ ์๋ฆฌ ํ์์์
๋๋ค.
์ ๋ฌํ ์ ์๋ ํน์ ์ธ์ ๋ชฉ๋ก์ ํด๋์ค๋ฅผ ์์ฑํ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฒฐ์ ํฉ๋๋ค.
์ด์ ์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์๊ณ ์ด ํน์ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํ์ต๋๋ค. ์์ง ์์์ผ๋ฉด ์ข๊ฒ ์ด?
Scanner console = new Scanner(System.in);
int x = console.nextInt();
Scanner console
โ console
์ ํ์ด ์ธ ๋ณ์๋ฅผ ์์ฑํฉ๋๋ค Scanner
. โ ์ด๊ฒ์ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ ๋น ์ฐ์ฐ์๋ ๋ณ์๋ฅผ ์๋ก ์์ฑ๋ ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ์ ๋์ผํ๊ฒ ์ค์ ํฉ๋๋ค.new Scanner(System.in)
Scanner
console
nextInt()
๋ ๋ฒ์งธ ์ค์์๋ ๊ฐ์ฒด ์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ ๋ณ์๋ฅผ Scanner
์ฌ์ฉํ์ฌ ๊ฐ์ฒด์ ๋ํ ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค .console
Scanner
๊ฐ์ฒด ์์ฑ์ ์:
์ํธ | ์ค๋ช |
---|---|
|
String ๊ฐ์ฒด ๋ง๋ค๊ธฐ |
|
Scanner ๊ฐ์ฒด ๋ง๋ค๊ธฐ |
|
Create an : ์์ int[] ์ ์ปจํ
์ด๋10 int |
์์ฑ๋ ๊ฐ์ฒด๋ฅผ ํด๋์ค์ ๊ฐ์ฒด ๋๋ ํด๋์ค์ ์ธ์คํด์ค ๋ผ๊ณ ํ๊ณ ํด๋์ค๋ฅผ ๊ฐ์ฒด์ ํด๋์ค ๋ผ๊ณ ํฉ๋๋ค . ์๋ฅผ ๋ค์ด s
๋ณ์๋ ํด๋์ค์ ์ธ์คํด์ค์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํฉ๋๋ค String
.
3. ํด๋์ค ์๊ฐ
๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฑํ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ง๋ ํธ๋ฆฌํ์ง ์ด๋ฏธ ๋ณด์ จ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์์ ์ ์์ ์ ์์ฑํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น?
์ธ์ ์ด๋์ ๋๋ง์ ํด๋์ค๊ฐ ํ์ํ์ง ์ด๋ป๊ฒ ์ ์ ์์ผ๋ฉฐ ์ด๋ป๊ฒ ๋ง๋ค ์ ์์ต๋๊น?
ํ๋ก๊ทธ๋๋จธ๋ ์ผ๋ฐ์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์ ์ํฐํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ค๊ณ ํ ๋ ์์ฒด ํด๋์ค๋ฅผ ๋ง๋ญ๋๋ค. ํผ๋์ค๋ฝ๊ฒ ๋ค๋ฆฌ๋์? ๊ทธ๋ผ ์ค๋ช ์ ํด๋ณด๊ฒ ์ง๋ง ๋ฉ๋ฆฌ์๋ถํฐ ์์ํ๊ฒ ์ต๋๋ค.
๋ฐ์ดํฐ ๊ทธ๋ฃน
์กฐ๊ธ ๋จ์ํํ๋ฉด Java์ ๊ฐ์ฒด๋ ํด๋์ค(์ธ์คํด์ค ํ๋)์์ ์ ์ธ๋ ๋ณ์๋ฅผ ํฌํจํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. ์ฆ, ๊ทธ๋ฃน์ผ๋ก ๊ฒฐํฉ๋ ๋ณ์์ ๋๋ค.
ํ๋ก๊ทธ๋จ์ด ์ ์ ์ขํ๋ฅผ ์ ์ฅํด์ผ 100
ํ๊ณ ์ด๋ฅผ ํ๋ฉด์ ํ์ํ๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๋ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
class Solution
{
public static void printPoints(int[] x, int[] y, int[] color)
{
for (int i = 0; i < x.length; i++)
System.out.println("Color of (" + x[i] + ", " + y[i] + ") = " + color[i]);
}
public static void main(String[] args)
{
int[] x = new int[100];
int[] y = new int[100];
int[] color = new int[100];
printPoints(x, y, color);
}
}
x
์ ์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋จ์ผ ์ ํ( , y
, ) ์ด ์์ผ๋ฉด ํจ์ฌ ๋ ํธ๋ฆฌํ ๊ฒ์
๋๋ค color
. ์ด๋ฌํ ํ์์ด Java์ ์์ผ๋ฉด ์ง์ ๋ง๋ค ์ ์์ต๋๋ค.
์ด๋ฅผ ์ํด Point
ํด๋์ค์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
public class Point
{
public int x;
public int y;
public int color;
}
์ด์ ์์ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ๋ค์ ์์ฑํ ์ ์์ต๋๋ค.
class Solution
{
public static void printPoints(Point[] points)
{
for (int i = 0; i < points.length; i++)
System.out.println("Color of (" + points[i].x + ", " + point[i].y + ") = " + points[i].color);
}
public static void main(String[] args)
{
Point[] data = new Point[100];
for (int i = 0; i < data.length; i++)
data[i] = new Point();
printPoints(data);
}
}
Point
์ด์ ๊ฐ์ฒด์ ๋ํ ์ ๋ณด๋ฅผ ํ์ํ ๋ฉ์๋๋ฅผ ํด๋์ค์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค .
public class Point
{
public int x;
public int y;
public int color;
public void print()
{
System.out.println("Color of (" + x + ", " + y + ") = " + color);
}
}
์ด์ Solution
ํด๋์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
class Solution
{
public static void printPoints(Point[] points)
{
for (int i = 0; i < points.length; i++)
points[i].print();
}
public static void main(String[] args)
{
Point[] data = new Point[100];
for (int i = 0; i < data.length; i++)
data[i] = new Point();
printPoints(data);
}
}
Point
ํฌ์ธํธ์ ์ํ๋ฅผ ํ์ํ๋ ๋ฉ์๋์ ํจ๊ป ํด๋์ค ๋ด๋ถ์ ํฌ์ธํธ์ ์ขํ์ ์์ ์ ๋ณด๋ฅผ ๊ต๋ฌํ๊ฒ ์จ๊ฒผ์ต๋๋ค .
ํด๋์ค๋ ํ๋ก๊ทธ๋จ ๋ณต์ก์ฑ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ํฐ ํ๋ก๊ทธ๋จ์ ๋ง์ ์์ ํด๋์ค๋ก ๋๋ ๋ ๋ ๋ณต์กํด์ง๋๋ค.
4. ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ์ฒด์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ฒด
์๋ ์์ ์ ์ฐ๋ฆฌ๋ Java์์ ์์๋ฅผ ์ฐ๊ตฌํ๊ณ ๊ทธ๋ค์ง ์์์ด ๋์ง ์๋ ๊ฒฐ๋ก ์ ๋๋ฌํ์ต๋๋ค. ์์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณ์๊ฐ ๋ณ๊ฒฝ๋์ง ์๋๋ก ๋ณดํธํ ์ ์์ง๋ง ์ฐธ์กฐํ๋ ๊ฐ์ฒด์ ๋ํ ๋ณ๊ฒฝ์ ๋ฐฉ์งํ ์๋ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Java๋ ์์ ๊ฐ์ฒด๋ฅผ ๊ณ ์ํ์ต๋๋ค. ๋๋ ๋ถ๋ณ ๊ฐ์ฒด๋ผ๊ณ ๋ ์์ฃผ ๋ถ๋ฆฝ๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ์ด๋ฌํ ํด๋์ค๋ฅผ ์ด๋ฏธ ์๊ณ ์์ต๋๋ค. String
. ๊ฐ์ฒด String
๋ ์์ฑ๋ ํ ์์ํ ๋ณ๊ฒฝ๋์ง ์์ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. Java ์ ์์๋ ์ด๋ป๊ฒ ์ด๊ฒ์ ๋ฌ์ฑํ์ต๋๊น?
์ฒซ์งธ, String
ํด๋์ค์ ๋ชจ๋ ๋ณ์๋ ์จ๊ฒจ์ ธ ์์ต๋๋ค. ์ฆ ์ ์ธ๋ฉ๋๋ค private
.
๋์งธ, ํด๋์ค๋ฅผ ์์ํ ์ ์์ต๋๋ค String
. ํด๋น ํด๋์ค ์ ์ธ์๋ final
ํ์ ์๊ฐ ํฌํจ๋ฉ๋๋ค.
์
์งธ, ๊ฐ์ฅ ํฅ๋ฏธ๋กญ๊ฒ๋ String
์ด๋ก ์ ์ผ๋ก ๊ธฐ์กด ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ ๊ฒ์ผ๋ก ์์๋๋ ํด๋์ค์ ๋ชจ๋ ๋ฉ์๋๋ ์ค์ ๋ก ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ๋์ ์ ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ด toUpperCase()
๋ฉ์๋๋ ๋ฌธ์์ด์ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ง๋ญ๋๋ค. ๊ทธ๋ฌ๋ ๋ฉ์๋๊ฐ ํธ์ถ๋๋ ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ ๋์ String
๋๋ฌธ์๋ก ๊ตฌ์ฑ๋ ์ ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.
String text = "This is a very important message";
String message = text.toUpperCase();
์ด๊ฒ์ ์ด ์ฝ๋๋ฅผ ์คํํ ํ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ผ์ ๋ฌธ์์ด์ ์๋ฌด ๋ฉ์๋๋ก๋ ์์ ๋กญ๊ฒ ์ ๋ฌํ์ญ์์ค. ์๋ฌด๋ ๋ฌธ์์ด์ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค.
GO TO FULL VERSION