Java - OOP

객체지향에 대해서

Posted by Yan on March 8, 2021

객체지향언어의 4가지 특징

  1. 캡슐화
  2. 상속
  3. 추상화
  4. 다형성

Class

  • 객체를 정의해놓은 것
  • 용도 : 객체를 생성하는데 사용
  • 예) 제품설계도

Object

  • 실제로 존재하는 것. 사물 또는 개념
  • 예) 제품

  • 객체 : 모든 인스턴스를 대표하는 일반적 용어
  • 인스턴스 : 특정 클래스로부터 생성된 객체 (객체랑 거의 비슷한 개념)

  • 클래스로 인스턴스(객체)를 만드는 과정을 인스턴스화라고 한다.
  • 예를 들어 설계도를 보고 제품을 만드는 과정이라고 할 수 있다.

class 작성하기

  1. public class가 있는 경우, 일반적으로 소스파일의 이름은 public class의 이름과 일치해야 한다.

  2. public class가 없는 경우, 소스파일의 이름은 class의 이름 중 어느 것이든 가능하다.

  3. 보통 하나의 소스파일에 하나의 클래스를 작성하는 것이 바람직하다.

  4. class이름과 소스파일 이름은 대소문자를 구분한다.

객체의 생성

  • 클래스명 변수명;
  • 변수명 = new 클래스명();
  • 예) Tv remoteControllers = new Tv();
  • remoteControllers는 참조변수고, new Tv()는 객체를 생성한다.

객체의 사용

  1. 변수 사용
  • 예) remoteControllers.channel = 25; //Tv 인스턴스의 멤버 변수 channel의 값을 7로 한다.
  1. 메소드 사용
  • 예) remoteControllers.channelDown(); //Tv인스턴스의 메소드 channelDown()을 호출한다.

객체배열 == 참조변수 배열

  • Tv tv1, tv2, tv3;는 Tv[] tvArr = 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()};와 같이 객체를 생성해서 배열의 각 요소에 저장하는 것이다.