java

java 객체지향(OOP)

full-moon 2022. 2. 21. 16:32

 [1] 자바는 객체지향 프로그래밍이다.
 - OOP(Object - Oriented - Programming)
 - 절차지향언어의 단점 보완과 생산성 향상 및 모델링을 위해 만들어짐
 - 프로그래밍 하기 위해 단위(객체)로 나눠서 코딩
 - 다시 이것들을 조립해서 하나의 프로그램을 만드는 것
 
 
 [2] 절차지향 vs 객체지향
 - 절차지향 : 순서대로 진행되는 프로그램
 ex) 급식소에서 줄을 서서 주는 메뉴대로 밥을 먹는 것
 
 - 객체지향 : 객체(클래스)라는 작은 단위로 프로그래밍 하는 것
 ex) 뷔페에서 내가 원하는 음식을 가져와서 먹는 것

  
 [3] 객체 모델링(Object Modeling) : 현실 세계의 객체를 소프트웨어 객체로 설계하는 것
  -객체(Obejct) 
   (1) 다른 것과 식별이 가능한 것
   (2) 자신만의 고유한 특성과 행동을 가지며, 다른 객체들과 상호작용을 한다.
   (3) 클래스에서는 인스턴스(instance)라고 부른다.
   
  -객체의 특성 3가지
   (1) 캡슐화(Encapsulation) : 정보은닉
   (2) 상속(Inheritance) : 부모 - 자식
   (3) 다향성(Polymorphism) : 상속에서 사용, 같은 코드 - 다른 출력 
   
 [4] 클래스와 객체
  -클래스(Class) : 설계도
   객체를 정의해 놓은 것, 객체를 만든기 위한 
   
  -객체(Object) : 실제로 존재하는 사물이나 개념
  클래스 모양 그대로 생성된 실체
 
 [5] 클래스의 3요소
  (접근제한자) class 클래스명 {
       필드 정의;
       생성자 정의;
       메소드 정의;
  }
 
  (1) 필드(field) : 속성, 상태, 특성
        -명사형
        -멤버변수라고도 함
        -값의 상태를 관리
        -데이터를 저장하는 공간
        -ex) int size;
 
  (2) 생성자(constructor)
      - 객체를 만들 때 따라야 하는 규칙 정의
      -객체생성을 도와주는 블록
      -생성자 이름은 클래스 이름과 동일
      -ex) Scanner sc = new Scanner(System.in);
      -(클래스)        (생성자)
 
   
 
  (3) 메소드(method) : 동장, 행동, 기능
      -동사형, 함수
      -특정기능을 정의한 블록
      -메소드가 호출되면 자신이 가지고 있는 기능을 수행
      -기능 수행이 끝나면 return값 존재(void타입 제외)