클래스
객체 지향 프로그래밍에 있어서 가장 기본
하나의 처리할 데이터 단위를 명시하는데 사용
Node라는 클래스를 많이 사용
어떠한 데이터를 변수로 만들어서 사용하는 것 : 인스턴스화
어떠한 클래스 안에서 만들어진 실제로 사용할 수 있는 단위를 인스턴스라 함
객체 : 실세계의 사물
객체를 한 클래스로 만들어서 그것을 하나의 객체 단위로써 인스턴스화를 해서 실제로 사용한다
하나의 점을 의미하는 Node 클래스를 생성할 수 있습니다.
.(0, 0)
A(3,7)
B(10, 5) 이런식으로 x,y 좌표의 특성이 있다.
Node 클래스를 이용하여 두 점 사이의 중점을 구하는 프로그램을 작성합니다.
Node.java
public class Node { // Node 라는 것은 하나의 좌표를 의미 private int x; private int y; // 자바의 객체 지향 프로그래밍은 보안을 중요시하기 때문에 외부에서 함부로 접근할 수 없는 private 형태 사용 public int getX() { return x; // x의 값을 가져오기 위해서 따로 함수를 만들어서 외부에서 접근 가능하게 만듦 } public void setX(int x) { // 외부의 값을 설정하기 위해서 사용 // 매개변수를 int x로 만들어주기 this.x = x; // 자신이 가지고 있는 고유의 x의 속성의 값(private int x;)을 지금 들어온 매개변수 (int x)로 바꿔주기 } public int getY() { return y; } public void setY(int y) { this.y = y; } public Node(int x, int y){ // 생성자 만들어주기 생성자 : 인스턴스(즉, 객체)를 하나 만들어 줄 때 자동으로 값들을 넣어주는 즉, 초기화해주는 함수 생성자는 클래스와 동일한 이름을 갖고있음 this.x = x; this.y = y; // Node라는 하나의 인스턴스 변수를 만들어줌과 동시에 x,y 값을 초기화 } public Node getCenter(Node other){ // getCenter라는 것은 다른 Node(Node other)를 매개변수로 받음 // 다른 Node 와 자신이 가지고 있는 x, y좌표를 비교해서 정확히 정중앙에 있는 좌표를 하나 반환 // 그래서 반환형을 Node라 해줌 return new Node ((this.x + other.getX()) / 2, (this.y + other.getY()) / 2 ); // 다른 좌표에 get.X를 함으로써 자신의 x 좌표와 다른 좌표의 x를 가져와서 두 개를 더한 후 2로 나눠 정중앙의 x좌표를 지칭하게 함 } } |
Main.java
public class Main { public static void main(String[] args){ Node one = new Node (10, 20); // (10, 20)인 하나의 생성자를 이용해서 one이라는 이름의 하나의 점 Node를 만들어 주었다 Node two = new Node (30, 40); Node result = one.getCenter(two); // 다른 Node를 하나 받아서 그것과 자신의 정중앙을 하나 반환 System.out.println("x : " + result.getX() + " y : " + result.getY()); } } |
'JAVA' 카테고리의 다른 글
자바 기초 7 (추상, Final 키워드) (0) | 2021.10.14 |
---|---|
자바 기초 6 (상속) (0) | 2021.10.13 |
자바 기초 4 (배열) (0) | 2021.10.13 |
자바 기초 3 (반복 함수와 재귀 함수) (0) | 2021.10.13 |
자바 기초 2 (객체지향) (0) | 2021.10.12 |