[JAVA] 객체지향 - 객체 생성, 사용, 배열

2024. 8. 31. 19:48·Back-End/Java

[작성일: 2023. 01. 25]

 

객체의 생성

  • 리모컨과 객체타입이 일치해야 함.
  • 객체를 사용하려면 반드시 리모컨이 필요함.
클래스명 변수명;
변수명 = new 클래스명();

Tv t; // Tv클래스 타입의 참조변수 t 선언
t = new Tv(); // Tv인스턴스 생성 후 생성된 Tv인스턴스의 주소를 t에 저장

 

 

 

 

 

객체의 사용

Tv t;
t = new Tv(); // 객체 생성

t.channel = 7; // Tv인스턴스의 멤버변수 channel의 값을 7로 한다 , 변수 사용
t.channelDown(); // Tv인스턴스의 '메서드 호출', 메서드 사용
// 객체 사용

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


class TV { // tv 설계도
  String color; // 색
  boolean power; // 전원상태(on/off)
  int channel; // 채널 
    
  void power() { power = !power; } // 전원 on/off
  void channelUp() { channel++; } // 채널 올리기
  void channelDown() { channel--; } // 채널 내리기
  // 3개의 변수와 3개의 메서드로 구성됨. 6개의 멤버
}

 

 

 

예제

Tv t1 = new Tv();
Tv t2 = new Tv();
t1.channel = 7; // 이름만 똑같지 어느 한 쪽을 바꾼다고 해서 객체의 값이 변하는 것은 아님

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

t2 = t1; // 사용할 수 없는 객체는 가비지컬렉터에 의해 정리됨

System.out.println("t1의 channel값은 " + t.channel +"입니다."); // 7
System.out.println("t2의 channel값은 " + t.channel +"입니다."); // 7

// 하나의 인스턴스럴 여러 개의 참조변수가 가리키는 것 가능
// 여러 인스턴스를 하나의 참조변수가 가리키는 경우는 불가능

 

 

 

 

 

객체의 배열

  • 객체 배열 == 참조변수 배열
Tv tv1, tv2, tv3; 

⬇

Tv[] tv Arr = new Tv[3]; // 길이가 3인 Tv타입의 참조변수 배열

// 객체를 생성해서 배열의 각 요소에 저장
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();

⬇ // 간단하게 초기화

Tv[] tvArr = { new Tv(), new Tv(), new Tv() };

 

 

 

 

 

 

 

 

 

 


🐣 해당 게시글은 자바의 정석(남궁성 님) 영상으로 함께 공부하며 요약/정리한 글입니다.
🐣 입문 개발자가 작성한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.

 

저작자표시 비영리 변경금지
'Back-End/Java' 카테고리의 다른 글
  • [JAVA] 객체지향 - 매개변수
  • [JAVA] 객체지향 - 호출 스택
  • [JAVA] 변수 초기화
  • [JAVA] 객체지향 - 오버로딩
뚜비
뚜비
1년차 백엔드&iOS 개발자의 감자 탈출 블로그 🥔🥔
  • 뚜비
    뚜비의 개발로그
    뚜비
  • 전체
    오늘
    어제
  • 글쓰기     관리
    • Devlog
      • Back-End
        • Java
        • Spring
        • JPA
        • HTTP
        • Security
        • Back-End
        • Front-End
      • 알고리즘
      • iOS
        • Swift
      • Database
      • Tips
        • Git & GitHub
        • A to Z
      • 프로젝트
      • 생각정리
  • 태그

    김영한
    html
    jsp
    프로그래머스
    자바스크립트
    게시판만들기
    Java
    spring
    최주호
    자바
    백준
    Database
    JPA
    스프링
    javascript
    DB
    데이터베이스
    Swift
    sql
    HTTP
    성능최적화
    생성자
    의존성주입
    변수
    Security
    객체
    다형성
    알고리즘
    MVC
    Spring Security
  • hELLO· Designed By정상우.v4.10.0
뚜비
[JAVA] 객체지향 - 객체 생성, 사용, 배열
상단으로

티스토리툴바