티스토리 뷰
객체지향언어의 주요 특징은 세 가지가 있습니다.
1. 코드의 재사용성이 높습니다.
- 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있습니다.
2. 코드의 관리가 용이합니다.
- 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있습니다.
3. 신뢰성이 높은 프로그래밍을 가능하게 합니다.
- 제어자의 메소드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며,
코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있습니다.
클래스란? 객체의 틀
클래스의 정의 - 클래스란 객체를 정의해 놓은 것 입니다.
클래스의 용도 - 클래스는 객체를 생성하는데 사용합니다.
객체란 ? 실제로 존재하는 것
객체의 정의 - 실제로 존재하는 것, 사물 또는 개념
객체의 용도 - 객체가 가지고 있는 기능과 속성에 따라 다름
* 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스 화 라고 합니다.
* 클래스 -> 객체 (과정을 인스턴스화)
객체의 구성요소
속성 - 멤버변수, 특성, 필드 ,상태
기능 - 메소드, 행위 ,함수
객체 지향 프로그래밍에 대한 기본적인 이론이였습니다.
이제 예제를 통해 공부하도록 하겠습니다.
// class 클래스명
// 클래스명의 앞글자는 항상 대문자로 만든다.
public class Person {
// 1) Person에서 사용할 데이터를 정의
int age; // 이름
String name; // 나이
String job; // 직업
// 2) person에서 사용할 기능 정의
// 메소드의 형식
// 리턴형태 메소드이름 (매개변수){
// 호출 시 수행할 기능
// ....
// }
void printPersonInfo() {
System.out.println("이름: " + name);
System.out.println("나이: " + age);
System.out.println("직업: " + job);
}
// changeJob 메소드를 호출하기 위해서는 매개변수를 String 형태로 넣어 주어야 한다.
void changeJob(String changeJob) {
System.out.println("직업 바꾸기");
job = changeJob;
}
// getAge()를 호출하게 되면 int형 값이 나온다.
int getAge() {
return age;
}
// changeName 메소드를 호출할 때
// String 형태의 매개변수를 넣어야 하고
// 호출 시에 String 형태로 값을 받아 낼 수가 있다.
String changeName(String changeName) {
name = changeName;
return name;
}
}
Pesron 클래스를 통해 Person 객체를 생성하여 사용하도록 하겠습니다.
public class ExampleClass {
public static void main(String[] args) {
// 클래스를 이용한 객체 만들기
// 객체를 만들 때는 new 키워드를 활용한다.
Person p1 = new Person();
// 객체 안에 있는 메소드 사용하기
// 객체명.메소드이름(매개변수)
// 객체명.변수이름
p1.age = 10;
p1.name = "AA";
p1.job = "초등학생";
p1.printPersonInfo();
// changeJob 메소드는 String 형태의 매개변수를 요구
p1.changeJob("중학생");
// p1.changeJob(); 매개변수가 없기 때문에 에러 발생
// p1.changeJob(10); String 매개변수를 넣어야 하는데
// 정수형 매개변수를 넣고 있기 때문에 에러
// 함수 호출의 결과물인 리턴값을 받아서 변수에 저장 할 수 있다.
int pAge = p1.getAge();
System.out.println("p1의 나이: " + pAge);
// changeName 호출시에 String 형태의 매개변수를 전달
// 호출이 완료 되면 String 형태의 리턴 값으로 받아 낼 수 있다.
String pName = p1.changeName("BBB");
System.out.println(pName);
System.out.println(p1.name);
}
}
반응형
LIST
'프로그래밍 > Java' 카테고리의 다른 글
| 자바 ! 캡슐화 (정보은닉, 접근지시제어자) (0) | 2017.04.21 |
|---|---|
| 자바 ! 접근 지시 제어자 (private, default, protected, public) (0) | 2017.04.20 |
| 자바 ! 반복문 (for, while, do~while) (0) | 2017.04.17 |
| 자바 ! 조건문 ( if문 , switch~case문) (1) | 2017.04.14 |
| 자바 ! 연산자 (단항, 산술, 비교, 논리, 삼항, 대입) (0) | 2017.04.13 |
댓글
