백지부터 시작하는 이세계 코딩 생활

#객체와 클래스 #접근지정자 #사각형넓이 구하기 본문

JAVA/etc

#객체와 클래스 #접근지정자 #사각형넓이 구하기

조아덕 2020. 8. 9. 22:59

// Q. 객체와 클래스의 차이점은?
 

 
// 클래스는 하나의 틀을 의미함.   

// 클래스 = 필드+매서드   

// 클래스 이름만 대문자로 시작하는 특징이 있고, 일종의 약속임.
 
// 클래스라는 건 직접적으로 값이나 변수가 만들어지는 건 아님.   

// 그래서 따로 선언을 해줘야 하며, 이때 point 연산자를 사용하여 값을 입력할 수 있음. 
 
// 예) ~.x = 10; ~.y=11;   

// 클래스 : 매서드를 통해서 값을 사용해야 한다.   

// 객체는 클래스 속의 element 를 의미.
 
// 객체는 하나의 타입을 만들어낸것과 같다.
 
// 객체는 속성과 기능을 가지고 있다. 
 


 
 
// Q. 객체지향 특성 설명   

 
//객체지향 특징: 캡슐화, 데이터은닉, 상속, 다양성을 가짐.   

//접근지정자 - 데이터은닉 관계가 있음.
 
//JAVA 에서는 이름이 같아도 매개변수가 다르면 다른 매서드라고 판단함. 이를 over road라고 함. 
 
//*따라서 매개변수의 갯수와 타입만 달리해주면 계속 추가해줄 수 있게 된다. (해당 타입에 매서드를 계속 추가 가능 하다는 뜻.)
 
//다형성을 구현하기 위해 객체지향을 학습한다. (편리성이 으뜸임) OOP : Oriented Object Programming


// 멤버가 4타입의 접근 지정자로 선언되었을 때, 접근여부 판단.
 
// 1. default 2.public 3.protected 4.private
 

// public          : 접근제한 없음.
 
// protected : 동일패키지와 상속받은 클래스의 내부에서 가능.(동일한 클래스,패키지, 다른 패키지의 자식클래스 )

// default         : 동일패키지 내에서만 가능(동일 클래스와 패키지에서 허용)
 
// private         : 동일 클래스 내에서만 가능.




// static 매소드에서는 this 래퍼런스를 사용불가. 

// 정적 메소드에서는 인스턴스 변수 사용불가.


사각형 넓이 구하기

package s0511_일일과제;
 

//Q. 사각형 넓이 구하기.
 

class Rectangle {
 

         int x1, y1, x2, y2;
 

         // 필드생성
 

         public Rectangle(int x1, int y1, int x2, int y2) {
 

                 this.x1 = x1;
 

                 this.y1 = y1;
 

                 this.x2 = x2;
 

                 this.y2 = y2;
 

         }//
 

         public Rectangle() {
 

                 // TODO Auto-generated constructor stub
 

         }
 

         public int square() {
 

                 int rectangleArea;
 

                 rectangleArea = Math.abs(x2 - x1) * Math.abs(y2 - y1);
 

                 return rectangleArea;
 

         }
 

         public void show() {
 

                 System.out.println("coordinate is: " + x1 + "," + y1 + "," + x2 + "," + y2);
 

                 System.out.println("rectangleArea is: "+square());
 

         }
 

         public void set(int x1, int y1, int x2, int y2) {
 

                 this.x1 = x1;
 

                 this.y1 = y1;
 

                 this.x2 = x2;
 

                 this.y2 = y2;
 

         }
 

         public boolean equals(Rectangle r) {
 

                   if(Math.abs(x1 - x2) * Math.abs(y1 - y2) == r.square()) {
 

                    return true;
 

                   }
 

                   return false;
 

                  }
 

}//
 

public class 일일과제실습2 {
 

         public static void main(String[] args) {
 

                 Rectangle r = new Rectangle();
 

                 Rectangle s = new Rectangle(1, 1, 2, 3);
 

                 r.show();
 

                 s.show();
 

                 System.out.println(s.square());
 

                 r.set(-2, -2, -1, 4);
 

                 r.show();
 

                 System.out.println(r.square());
 

                 
 

                 if (r.equals(s)) {
 

                          System.out.println("같은 사각형");
 

                 }
 

         }// end
 

}//
 

사각형 넓이 구하기 결과

 

'JAVA > etc' 카테고리의 다른 글

vc code with spring  (0) 2020.08.23
Tomcat port 중복될 때  (0) 2020.08.20
instance 와 this  (0) 2020.08.09
enum 함수  (0) 2020.08.09
반복문 들어가기 전에..  (0) 2020.08.08
Comments