티스토리 뷰

프로그래밍/Java

자바 ! 객체지향 프로그래밍

나는연어다 2017. 4. 18. 16:43

 객체지향언어의 주요 특징은 세 가지가 있습니다.


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
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함