ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] 객체지향언어 : 클래스와 객체 (1)
    프로그래밍/JAVA 2015. 7. 7. 00:00
    반응형

    객체지향언어의 장점


    - 코드의 재사용성이 높다 : 새로운 코드를 작성할 떄 기존의 코드를 이용하여 쉽게 작성 가능

    - 코드의 관리가 용이 : 코드간의 관계를 이용해 적은 노력으로 쉽게 코드 변경 가능

    - 신뢰성이 높은 프로그래밍 가능 : 제어자와 메서드를 사용해서 데이터를 보호하고 올바른 값을 유지하도록 하며 코드의 중복을 제거하여 코드의 불일치로 인한 오동작 방지 가능




    클래스와 객체


    클래스의 정의: 객체를 정의해둔것

    클래스의 용도 : 객체를 생성하는데 사용


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

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


    유형의 객체 : 책상, 의자, 자동차, TV와 같은 사물

    무형의 객체 : 수학공식, 프로그램 에러와 같은 논리나 개념


    객체와 인스턴스


    클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고하며 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라 칭함.

    클래스 ->(인스턴스화) -> 인스턴스(객체)


    객체의 구성요소 - 속성과 기능




    오늘의 코드


    package j0706;


    class Tv {

    // Tv의 속성(멤버변수)

    String Color;

    boolean power;

    int channel;


    // Tv의 기능(메서드)

    void power() {

    power = !power;

    }


    void channelUp() {

    ++channel;

    }


    void channelDown() {

    --channel;

    }

    }


    public class TvTest {


    public static void main(String[] args) {

    Tv t; // Tv인스턴스를 참조하기 위한 변수 t선언

    t = new Tv(); // Tv인스턴스를 생성

    t.channel = 7; // Tv인스턴스의 멤버변수 channel의 값을 7로 설정

    t.channelDown();

    System.out.println("현재 채널은 " + t.channel + " 입니다.");


    }


    }



    package j0706;


    class Tv {

    // Tv의 속성(멤버변수)

    String Color;

    boolean power;

    int channel;


    // Tv의 기능(메서드)

    void power() {

    power = !power;

    }


    void channelUp() {

    ++channel;

    }


    void channelDown() {

    --channel;

    }

    }


    public class TvTest2 {


    public static void main(String[] args) {

    Tv t1 = new Tv();

    Tv t2 = new Tv();

    System.out.println("t1의 채널값은 " + t1.channel + "입니다");

    System.out.println("t2의 채널값은 " + t2.channel + "입니다");


    t1.channel = 7; // 채널값을 7으로한다.

    System.out.println("t1의 채널값을 7로 변경하였습니다.");


    System.out.println("t1의 채널값은 " + t1.channel + "입니다.");

    System.out.println("t2의 채널값은 " + t2.channel + "입니다.");


    }


    }



    package j0706;


    public class TvTest3 {


    public static void main(String[] args) {

    Tv t1 = new Tv();

    Tv t2 = new Tv();


    System.out.println("t1의 채널값은 " + t1.channel + "입니다");

    System.out.println("t2의 채널값은 " + t2.channel + "입니다");


    t2 = t1; // t1이 저장하고 있는 값(주소)를 t2에 저장한다.


    t1.channel = 7;

    System.out.println("t1의 채널값을 7로 변경하였습니다.");


    System.out.println("t1의 채널값은 " + t1.channel + "입니다");

    System.out.println("t2의 채널값은 " + t2.channel + "입니다");


    }


    }



    반응형

    '프로그래밍 > JAVA' 카테고리의 다른 글

    [JSP] JSP 기본 (1)  (0) 2015.07.13
    [JAVA] IO Stream (1)  (0) 2015.07.08
    [JAVA] 객체지향 프로그래밍 (2)  (0) 2015.07.08
    [JAVA] 배열의 종류 및 활용  (0) 2015.07.06
    [JAVA] 배열의 활용  (0) 2015.07.03

    댓글

Designed by Tistory.