본문 바로가기

객체 지향 프로그래밍 - 클래스

객체 지향 프로그래밍

객체

  • 객체(object)란 물리적으로 존재하거나 개념적인 것 중에서 다른 것과 식별 가능한 것
  • 객체는 속성과 동작으로 구성. 자바는 이러한 속성과 동작을 각각 필드와 메소드라고 부름


    출처, 이것이 자바다


객체 지향 프로그래밍(OOP)

  • 객체 객체들을 먼저 만들고, 이 객체들을 하나씩 조립해서 완성된 프로그램을 만드는 기법

객체의 상호작용

  • 객체 지향 프로그램에서도 객체들은 다른 객체와 서로 상호작용하면서 동작
  • 객체가 다른 객체의 기능을 이용할 때 이 메소드를 호출해 데이터를 주고받음


    출처, 이것이 자바다


  • 매개값: 객체가 전달하고자 하는 데이터이며, 메소드 이름과 함께 괄호() 안에 기술
  • 리턴값: 메소드의 실행의 결과이며, 호출한 곳으로 돌려주는 값


    출처, 이것이 자바다


객체 간의 관계

  • 집합 관계: 완성품과 부품의 관계
  • 사용 관계: 다른 객체의 필드를 읽고 변경하거나 메소드를 호출하는 관계
  • 상속 관계: 부모와 자식 관계. 필드, 메소드를 물려받음


    출처, 이것이 자바다


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

  • 캡슐화: 객체의 데이터(필드), 동작(메소드)을 하나로 묶고 실제 구현 내용을 외부에 감추는 것


    출처, 이것이 자바다


  • 상속: 부모 객체가 자기 필드와 메소드를 자식 객체에게 물려줘 자식 객체가 사용할 수 있게 함
    • 코드 재사용성 높이고 유지 보수 시간 최소화


      출처, 이것이 자바다


  • 다형성: 사용 방법은 동일하지만 실행 결과가 다양함