티스토리 뷰

개발

[Java] 객체지향

호호홍얍얍 2022. 5. 15. 12:12

기본 개념

  • 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.
  • 실제 사물의 속성과 기능을 데이터(변수)와 함수로 정의한 것

 

특징

  • 코드의 재사용성이 높다.
    • 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.
  • 코드의 관리가 용이하다.
    • 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.
  • 신뢰성이 높은 프로그래밍을 가능하게 한다.
    • 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다.

 

클래스

  • 객체를 정의해 놓은 것
  • 객체(메모리에 생성된 것)를 생성하는 데 사용한다. 객체 그 자체는 아니다.
  • JDK에는 유용한 클래스(JAva API)를 기본적으로 제공하고 있다.
  • 사용자 정의 타입이라고 할 수 있다.

 

객체/인스턴스

  • 클래스로부터 객체가 만들어지면, 그것이 인스턴스이다.
  • 객체는 멤버변수, 메서드로 이루어져 있다.
  • 생성 & 접근방법
    • Tv t;
      • Tv 클래스 타입의 참조변수 t를 선언한다. 메모리에 참조변수 t를 위한 공간이 마련된다. 아직 인스턴스는 생성되지 않았다.
    • t = new TV();
      • 연산자 new에 의해 Tv클래스의 인스턴스가 메모리의 빈 공간에 생성된다. 멤버변수는 각 자료형에 해당하는 기본값으로 초기화된다.
      • 대입연산자에 의해서 생성된 객체의 주소값이 참조변수 t에 저장된다.
    • t.channel = 7;
      • 인스턴스의 멤버변수에 접근하려면, '참조변수.멤버변수'와 같이 하면 된다.
    • t.channelDown();
      • 인스턴스의 메서드에 접근하려면, '참조변수.메서드()' 와 같이 한다.
  • 만약, 같은 클래스로부터 다른 인스턴스(t2)를 생성하면, 같은 클래스에 의해 만들어졌더라도, 처음에 만들었던 인스턴스(t1)와 서로 다른 값을 유지할 수 있다. 참조변수가 서로 다른 주소를 저장하고 있는 것이다.
  • 자신을 참조하고 있는 참조변수가 하나도 없는 인스턴스는 가비지 컬렉터에 의해 자동적으로 메모리에서 삭제된다.

 

객체배열

  • 객체 배열은 참조변수들을 하나로 묶은 참조변수 배열이다.
  • Tv[] tvArr = {new Tv(), new Tv(), newTv()};
  • 객체 배열도 같은 타입의 객체만 저장할 수 있다.

'개발' 카테고리의 다른 글

[Java] 상속  (0) 2022.05.17
[Java] 변수와 메서드  (0) 2022.05.15
[Java] 다차원 배열  (0) 2022.05.15
[Java] String 배열 / Char 배열  (0) 2022.05.15
[Java] 배열  (0) 2022.05.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/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
글 보관함