객체 지향 언어
객체들은 특성과 행동을 가지며 이러한 특성과 행동은 상호작용하며 만들었습니다.
클래스와 객체의 개념을 도입했습니다.
객체 지향 언어의 특성 3가지
-캡슐화
-상속
-다형성
캡슐화
객체를 캡슐로 싸서 그 내부를 보호하고 볼 수 없게 하는것으로 객체의 가장 본질적인 특성입니다.
클래스 모양 그대로 생성된 실체 즉 인스턴스가 객체이다. 그리고 필드와 메소드가 클래스 내에 구현된다.
필드는 String name; int age; 가 만들어 지는 부분이고, void sleep(); void walk(); 등이 구현 되는 것을 메소드라고 한다.
상속
상위 개체의 속성이 하위 개체에 물러져서, 하위 개체가 상위 개체의 속성을 모두 가지는 관계
부모 클래스의 속성을 물려받아 확장하는 개념입니다.
부모클래스 -> 슈퍼 클래스
자식클래스 -> 서브 클래스
다형성
같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 구현되는 것
메소드 오버라이딩 , 메소드 오버로딩이 다형성을 보여준다.
이 두개는 나중에 자세히 볼 예정이다.
자바 클래스
class 키워드로 클래스를 선언합니다.
클래스의 구성 요소를 멤버라고 부르며, 멤버는 필드와 메소드가 있습니다.
public private protected 와 같은 접근 지정자는 접근 권한을 제한하는 부분입니다.
///////////////////////Circle 클래스////////////////////////////////
public/*클래스에 대한 접근 권한*/ class/*클래스 선언*/ Circle/*클래스 이름*/{
int radius;
String name;
//radius, name은 필드가 된다.
public/*메소드에 대한 접근 권한*/ double getArea(){//이 부분은 메소드가 된다.
return 3.14*radius*radius;
}
}
//////////////////////Circle 클래스의 활용 코드//////////////////////////////////
public class Circle{
int radius;
String name;
public double getArea(){
return 3.14*radius*radius;
}
public static void main(String[] args){
Circle pizza; // 객체에 대한 레퍼런스 변수 선언
pizza = new Circle(); // Circle 객체 생성
pizza.radius = 10;
pizza.name = "Rose피자";
double area = pizza.getArea();
System.out.println(pizza.name + " 의 면적은 : " + area);
Circle dount = new Circle(); //레퍼런스 변수 dount의 선언과 동시에 객체 생성
dount.radius = 10;
dount.name = "Rose피자";
double area = dount.getArea();
System.out.println(dount.name + " 의 면적은 : " + area);
}
}
//////////////////////////////////////////////////////////////////////////////////
'Coding > JAVA' 카테고리의 다른 글
백준_4307 개미(자바) / 구현 (0) | 2021.11.20 |
---|---|
백준_15652 N과 M(4) (자바) / 백트래킹 (0) | 2021.09.13 |
2.7 자바의 배열 (0) | 2019.07.21 |
2.6 조건문과 반복문 (0) | 2019.07.18 |
2.4 연산자 (0) | 2019.07.17 |