티스토리 뷰
객체지향언어의 주요 특징은 세 가지가 있습니다.
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 |
댓글