ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA 이론(5)
    JAVA 2022. 6. 20. 13:47

    OOP

    : Object Oriented Programming

    객체란?

    - 여러가지 데이터들이 모여 있는 복잡한 자료형

    - 내가 만드는 나만의 새로운 자료형

    - 내가 새롭게 만드는 나만의 도구

       ex) Scanner, Random, Math

     

    Class(클래스)

    : 실제 Object를 제작하기 전 설계하는 도면

     

    Object(객체)

    : 클래스(설계도)를 기반으로 실제로 메모리에 할당되는 것

     

     

    객체지향프로그래밍의 특징

    추상화(Abstract)

    - 객체에서 공통된 속성과 행위를 추출하는 기법

    - 코드 상에서 구현(로직)부분을 제외한 오직 선언 부분만을 설계

    - 상세한 정보는 무시하고 필요한 정보들만 간추려서 구성

     

    캡슐화(Encapsulation)

    - 관련된 필드(속성)와 메소드(기능)를 하나로 묶고, 실제 구현 내용을 외부로부터 감추는 기법(정보은닉)

    - 만일의 상황(타인이 외부에서 조작)을 대비해서 특정 속성이나 메소드를 사용자가 조작할 수 없도록 숨겨 놓은 것

    - 외부에서는 공개된 메소드(기능)의 인터페이스를 통해 접근할 수 있다

     

    상속(Inheritance)

    - 이미 작성된 클래스(상위클래스)의 특성을 그대로 이어받아 새로운 클래스(하위클래스)를 생성하는 기법

    - 기존 코드를 그대로 재사용하거나 재정의 -> 재사용 + 확장

     

    다형성(Polymorphism)

    - 사전적 의미 '다양한 형태로 나타날 수 있는 능력'

    - 같은 기능(메소드)를 호출하더라도 객체에 따라 다르게 동작하는 것

    - 상위클래스의 동작을 하위클래스에서 다시 정의하여 사용(Overriding 오버라이딩)하는 것 또한 다형성임

     

    객체지향프로그래밍의 장점

    - 신뢰성 있는 소프트웨어를 쉽게 작성할 수 있음

    - 코드를 재사용하기 쉬움

    - 유지보수가 용이함

    - 직관적인 코드 분석이 가능함

    - 소프트웨어 생산성 향상

     

    속성, 데이터 = 필드명
    행위, 기능, 로직 = 메소드

    'JAVA' 카테고리의 다른 글

    JAVA 이론 (7)  (0) 2022.06.20
    JAVA 이론 (6)  (0) 2022.06.20
    JAVA 이론(4)  (0) 2022.06.17
    JAVA 이론(3)  (0) 2022.06.17
    JAVA 이론(2)  (0) 2022.06.16

    댓글

Designed by Tistory.