Java

10 [인강] 자바의정석 ch06

Rosie_dev 2020. 12. 17. 13:18

| 객체지향 언어

  코드의 재사용성이 높고, 유지보수가 용이, 중복코드 제거

  일반 프로그래밍 언어 + 객체지향 개념(규칙)이 추가됨

  object oriented programing

  캡슐화 / 상속 / 추상성 / 다양성

  * 정리해서 외우기

  * 실습위주 + 디자인 패턴, 객체지향 개념


| 클래스와 객체

  제품설계도  -  제품

  객체의 구성요소: 속성(변수)과 기능(메서드)

  객체는 모든 인스턴스

  인스턴스: 특정 클래스로부터 생성된(인스턴스화) 객체


| 한파일 여러 클래스 작성하기

  public class Hello2   //public 클래스가 있는 경우 클래스명은 소스파일과 일치시켜야 한다, public은 한 개만!

           class Hello3


| 객체의 생성과 사용

  클래스명 참조변수명; = new 클래스명();

  t.channel = 7;   //변수값저장 

  t.channelDown();    //메서드호출

  여러 변수로 하나의 인스턴트 가리키는 것은 가능

  하나의 변수로 여러 인스턴트 가리키는 것은 불가능


| 객체배열

  == 참조변수 배열

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

  tvArr[] = { new Tv(), new Tv(), new Tv() };   //객체 대입필요!


| 클래스의 정의

  클래스 == 설계도 && 데이터 + 함수 && 사용자정의 타입

  변수 → 배열(같은 타입) → 구조체(다른 타입도 가능) → 클래스(데이터+함수(메서드))

  class Time {

         int hour;

         int minute;

         int second;

  }

  Time t = new Time();   //java에 적합한 객체지향 코드

  t.hour = 12;

  t.minute = 34;

  t.second = 56;


| 선언위치 변수종류

  클래스 영역 - iv, cv

  매서드 영역 - lv

  Class Variables 

  {

     int iv;    //인스턴스변수

     static int cv;     //클래스변수(static변수, 공유변수)

     void method()

     {

          int lv = 0;    //지역변수

     }

  }

'Java' 카테고리의 다른 글

12 [인강] 자바의정석 ch06  (0) 2020.12.21
11 [인강] 자바의정석 ch06  (0) 2020.12.18
9 [인강] 자바의정석 ch05  (0) 2020.12.16
8 [인강] 자바의정석 ch05  (0) 2020.12.16
7 [인강] 자바의정석 ch04  (0) 2020.12.12
댓글