티스토리 뷰
클래스(Class) : 객체를 만드는 설계도
클래스로부터 만들어지는 각각의 객체를 특별히 그 클래스의 인스턴스(instance)라고도 한다.
ex 도면 == 클래스, 제품 == 객체
대표적 특징
캡슐화, 상속, 다형성
변수의 종류
-
필드(field) : 클래스 안에서 선언되는 멤버 변수, 인스턴스 변수라고도 한다.
-
지역 변수(local variable) : 메소드나 블록 안에서 선언되는 변수
-
매개 변수(parameter) : 메소드 선언에서의 변수
클래스를 설계할 때 전역변수를 가능한 줄이고 지역변수로 선언해야 안정성이 있다.
변수는 어디든 선언하면 작동한다.
일반적으로
Public == 모든 클래스에서 접근가능 (메소드)
Private == 클래스 내에서만 접근가능 (변수)
사용한다.
접근 제어
같은 패키지 내에서 자유롭게 접근하기. (다른 패키지에서는 접근 할 수 없다.)
Ctrl + Shift + O 를 누르면 자동으로 다른 패키지를 Import 해준다.
클래스 수준에서의 접근 제어
- Public 다른 모든 클래스가 사용할 수 있는 공용 클래스
- Package 수식자가 없으면, 같은 패키지 안에 있는 클래스들만이 사용
멤버 수준에서의 접근 제어
연습문제
- 사각형을 나타내는 클래스 Rectangle 을 만들어보자.
사각형은 가로(w)와 세로(h)를 가지며, 사각형의 넓이를 반환하는 perimeter() 등의 메소드를 가진다.
-
날짜를 나타내는 클래스 Date 를 만들어보자
Date 는 년도, 월, 일 등의 속성을 가지며, 날짜를 “20127.12” 와 같이 출력하는 메소드 print1(), 날짜를 “July 12, 2012: 와 같이 출력하는 print2() 등의 메소드를 가진다. -
영화 Movie 클래스를 만들어보자
Movie 클래스는 영화제목, 평점, 감독, 발표된 연도 등의 필드를 가지고 영화의 모든 정보를 화면에 출력하는 print() 라는 메소드 를 가진다.
- 원을 나타내는 Circle 클래스를 만들어보자
Circle 클래스는 반지름 r과 중심의 좌표 cx,cy 를 필드로 가지고 원의 넓이를 계산하여 반환하는 area() 를 메소드로 가진다. 각 필드에 대한 접근자 메소드와 설정자 메소드도 정의한다.
- 책을 나타내는 Book 클래스를 만들어보자
Book 클래스는 제목(title)과 저자(author)를 나타내는 필드를 가지고 각 필드는 private 로 선언한다. 각 필드에 대해서 접근 자와 설정자 메소드를 정의하고 이것을 통하여 제목과 저자를 설정하여 보자
- 책을 나타내는 Book 클래스를 만들어보자
'Study > JAVA' 카테고리의 다른 글
객체지향 프로그래밍 6주차 (JAVA) 생성자는 void를 쓰지않는다. (0) | 2019.10.07 |
---|---|
객체지향 프로그래밍 5주차 (JAVA) (0) | 2019.09.30 |
객체지향 프로그래밍 4주차(JAVA) (0) | 2019.09.23 |
객체지향 프로그래밍 3주차(JAVA) (0) | 2019.09.16 |
객체지향 프로그래밍 1주차 (0) | 2019.09.02 |
댓글