티스토리 뷰

프로그래밍/Java

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

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

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


1. 코드의 재사용성이 높습니다.

- 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있습니다.


2. 코드의 관리가 용이합니다.

- 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있습니다.


3. 신뢰성이 높은 프로그래밍을 가능하게 합니다.

- 제어자의 메소드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며,

  코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있습니다.



클래스란? 객체의 틀 


클래스의 정의 - 클래스란 객체를 정의해 놓은 것 입니다.

클래스의 용도 - 클래스는 객체를 생성하는데 사용합니다.


객체란 ? 실제로 존재하는 것


객체의 정의 - 실제로 존재하는 것, 사물 또는 개념

객체의 용도 - 객체가 가지고 있는 기능과 속성에 따라 다름



* 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스 화 라고 합니다.

* 클래스 -> 객체  (과정을 인스턴스화)



객체의 구성요소 


속성 - 멤버변수, 특성, 필드 ,상태

기능 - 메소드, 행위 ,함수



객체 지향 프로그래밍에 대한 기본적인 이론이였습니다.


이제 예제를 통해 공부하도록 하겠습니다.

 

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
32
33
34
35
36
37
38
39
40
// 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 객체를 생성하여 사용하도록 하겠습니다.


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
32
33
34
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
«   2025/04   »
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
글 보관함