[혼공자] 3주차 과제

나봉·2025년 1월 23일
0

13기 혼공자

목록 보기
8/14

3주차 (01.20 ~ 01.26) / chapter06

1. 기본 숙제

  • 객체(object) : 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것

  • 인스턴스(instance) : 클래스로 부터 만들어진 객체부터 만들어진 객체

  • 인스턴스 멤버 : 객체(인스턴스)를 생성한 후 사용할 수 있는 필드와 메서드

  • 정적 멤버 : 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할수 있는 필드와 메서드

  • 생성자(constructor) : new 연산자로 호출되는 특별한 중괄호 블록 클래스 이름으로 되어 있고 반환형이 없다.

  • 싱글톤(singleton) : 전체 프로그램에서 하나의 클래스에 단 하나의 객체만 만들도록 보장,
    생성자 앞에 private 접근 제어자를 붙이고, 필드에 자기 자신의 객체를 static으로 선언

  • 식별지 : 프로그래밍 언어에서 프로그래머가 변수, 메서드, 클래스 등에 부여하는 이름

  • 리턴 타입(return type) : 메서드가 실행 후 리턴하는 값의 타입(= 반환형),
    void로 선언된 리턴값이 없는 메서드에서도 return 사용 가능하나 리턴값없이 사용(= 메서드 실행 강제 종료)

  • 리턴(return) : 함수를 실행했던 위치로 돌아가게 하는 것, 리턴값을 가지는 함수는 반드시 반황값이 있어야 한다.

  • 매개 변수(parameter) : 메소드 실행 시 데이터를 외부로부터 받기 위해 사용

  • 클래스의 구성 멤버
    • 필드(field) : 객체의 데이터가 저장되는 곳
    • 생성자(constructor) : 객체 생성 시 초기화 역할 담당
    • 메서드(method) : 객체의 동작에 해당하는 실행 블록
  • 상수(constant value) : 값을 한 번 저장하면 변경할 수 없는 변수.
  • 접근 제한자(access modifier) : 클래스 및 인터페이스들이 가지고 있는 멤버의 접근을 제한하기 위해 사용
    • public 접근 제한자 : 외부 클래스가 자유롭게 사용 가능
    • protected 접근 제한자 : 같은 패키지 또는 자식 클래스에서 사용 가능
    • private 접근 제한자 : 같은 클래스 내에서만 가능 외부에서 사용 불가
    • default 접근 제한 : 같은 패키지에 소속된 클래스에서만 사용 가능
  • 오버 로딩(overloading) : 하나의 메서드 이름으로 여러 기능을 담는 것
    • 메서드 오버로딩 : 클래스 내에 같은 이름의 메서드를 여러 개 선언 하는 것,
      매개 변수의 타입, 개수, 순서 중 하나가 달라야 함
    • 생성자 오버로딩 : 매개 변수를 달리하는 생성자를 여러 개 선언 하는 것

2. 추가 숙제

객체 지향 프로그래밍(OOP, Object-Oriented Programming)

  • 프로그램을 객체라는 단위로 하나씩 조립해서 완성된 프로그램을 만드는 기법
  • 객체는 속성(field)과 동작(method)으로 구성

    객체 지향 프로그래밍 특징
    1. 캡슐화 (Encapsulation)

    • field와 method를 하나의 단위로 묶어 field는 외부에서 직접 접근하지 못하게 숨기고, 객체가 제공하는 method를 통해 접근하도록 한다.
      => 데이터 보호와 유지보수에 용이
      2. 상속 (Inheritance)
    • 자식 클래스가 부모 클래스의 field와 method을 상속 받을 수 있다
      => 코드 재사용, 클래스 간의 관계 설정
      3. 다형성 (Polymorphism)
    • 하나의 객체가 여러 형태를 가질 수 있다.
      => 메서드 오버로딩(같은 이름의 메서드를 다르게 정의), 메서드 오버라이딩(상속받은 메서드를 재정의)
      4. 추상화 (Abstraction)
    • 불필요한 세부사항을 숨기고 중요한 부분만 강조한다.
      => 추상클래스나 인터페이스를 통해 구현

0개의 댓글

관련 채용 정보