클라우드 스쿨/자바

객체지향 언어

qqlzzb 2023. 6. 23. 15:04

✏️ 객체지향언어의 특징

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

2. 코드의 관리가 용이하다.

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

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

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

        코드의 중복을 제고해서 코드의 불일치로 인한 오동작을 방지한다.

 

=> 코드의 재사용성이 높고 유지보수가 용이하다.

 

✏️ 클래스와 객체

  • 클래스란 ? 객체의 설계도 또는 틀. 객체를 생성하는 데 사용되며, 객체는 클래스에 정의된 대로 생성된다.
  • 클래스의 인스턴스화란 ? 클래스로부터 객체를 만드는 과정.
  • 객체란 ? 실제로 존재하는 것. 속성과 기능으로 구성된다.

               속성 -> 멤버변수(TV에서의 크기, 길이, 볼륨, 채널 등)

               기능 -> 메서드(TV에서의 켜기, 끄기, 볼륨 조절하기, 채널 변경하기 등)

  • 인스턴스란 ? 어떤 클래스로부터 만들어진 객체.

인스턴스와 객체는 같은 의미이다.

단, 객체는 모든 인스턴스를 대표하는 포괄적인 의미이고,

인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 의미이다.

 

✏️ 객체 생성과 사용

package coding;

class Tv {
    String color;
    int channel;
    boolean power;
}

public class objectEx {
    public static void main(String[] args) {
        Tv t = new Tv(); //객체 생성
        System.out.println(t.channel); //0 출력

        t.channel= 7;//channel 변수의 값 변경
        System.out.println(t.channel); //7 출력

        Tv[] tvArr = new Tv[3]; //객체 배열 생성

        tvArr[0]=new Tv(); //객체 생성해서 배열에 저장
        tvArr[0].channel=1;
        //tvArr[1].channel=2; 배열만 생성하고, 객체를 생성하지 않고 값을 대입하려고 하면 에러남.
        System.out.println(tvArr[0].channel); //1 출력

        Tv[] tvArr2 = {new Tv(), new Tv(), new Tv()}; //배열과 초기화를 한 줄에
        tvArr2[0].channel=2;
        System.out.println(tvArr2[0].channel); //2 출력
    }
}

'클라우드 스쿨 > 자바' 카테고리의 다른 글

Problem 10828 - 스택(JAVA)  (0) 2023.06.29
Static, String  (0) 2023.06.26