코드 생로병사의 비밀
  • 코드 생로병사의 비밀
  • 시작하기
  • Amazon Q Business
    • Amazon Q Business 애플리케이션 설정
    • 데이터 소스 구성
      • 웹 크롤러 데이터 소스 커넥터 활용하기
      • 문서 업로드
      • Amazon S3 데이터 소스 커넥터 구성
    • 관리자 컨트롤 및 가드레일 구성
      • 글로벌 컨트롤 구성하기
      • 주제 수준 컨트롤 구성
  • Amazon Q Developer
    • Amazon Q Developer 애플리케이션 로그인
    • 프롬프트 유형
      • 함수명 프롬프트
      • 한 줄 주석
      • 한 줄 프롬프트
      • 여러 줄 주석
      • 여러 줄 프롬프트
      • 변수명 기준
      • 고려 사항
    • 알고리즘 생성
      • 버블 정렬
      • 합병 정렬
    • 정규표현식
      • 정규 표현식 - 이메일
      • 정규 표현식 - 휴대폰
      • 정규 표현식 - 커스텀 표현식
    • 클래스 생성
      • Folder 클래스
      • User 클래스
      • 객체 지향 프로그래밍(OOP): 다형성 & 상속
    • SQL
      • SQL - Users
      • SQL - E-commerce Schema
    • 가짜 데이터 생성
      • 가짜 데이터 - 주가
      • Faker 패키지를 활용한 가짜 유저
    • AWS 서비스
      • S3 서비스
      • DynamoDB 서비스
      • SQS 서비스
Powered by GitBook
On this page
  • 예시 #1
  • OOP 개념 - 클래스와 객체
  • 예시 #2
  • User 클래스 계속해서 생성
  1. Amazon Q Developer
  2. 클래스 생성

객체 지향 프로그래밍(OOP): 다형성 & 상속

다형성과 상속은 코드 재사용성, 모듈성 및 확장성을 달성하는 데 도움이 되는 객체 지향 프로그래밍(OOP) 의 두 가지 중요한 개념입니다.

다형성: 다형성은 객체 또는 메서드가 여러 형태나 행동을 취할 수 있는 능력을 말합니다. 이를 통해 서로 다른 클래스의 객체를 공통 슈퍼클래스의 객체로 취급할 수 있습니다. 간단히 말해서 다형성은 “하나의 인터페이스, 다중 구현”을 의미합니다.

상속: 상속은 기존 클래스(base/parent class)를 기반으로 새 클래스(derived/child class) 를 만들 수 있는 OOP의 메커니즘입니다. 파생 클래스는 기본 클래스의 속성과 동작을 상속하지만 새 속성과 동작을 추가하거나 상속된 속성 및 동작을 수정할 수도 있습니다.

요약하자면, 다형성을 사용하면 서로 다른 클래스의 객체를 공통 슈퍼클래스의 객체로 취급할 수 있으므로 코드가 서로 다른 객체에 대해 일관되고 유연한 방식으로 작동할 수 있습니다. 한편, 상속을 사용하면 기존 클래스를 기반으로 새 클래스를 쉽게 만들 수 있으므로 코드 재사용과 확장성을 높이는 동시에 객체 간의 실제 관계를 모델링할 수 있습니다.

이 단원에서는 Amazon Q Developer를 활용하여 객체 지향 프로그래밍, 특히 다형성 및 상속 개념에 중점을 둔 예제를 만들어 보겠습니다.Amazon Q Developer는 다음 프롬프트를 사용하여 클래스를 생성하는 데 사용됩니다.


예시 #1

OOP 개념 - 클래스와 객체

일반적인 프롬프트

Create a function with classes and objects to implement polymorphism with inheritance, using the following content
Country, Language spoken and capital for India and USA as 2 functions with inheritance

Python 프롬프트

VSCode에서 파일을 생성하고 이름을 polymorphism.py로 지정하고 다음 코드를 입력합니다.

"""
Create a function with classes and objects to implement polymorphism with inheritance, using the following content

Country, Language spoken and capital for India and USA as 2 functions with inheritance

"""

제안을 수락하려면 Enter 키를 계속 누릅니다. Amazon Q Developer가 다음 코드를 생성합니다.

Amazon Q Developer 제안

class Country:
    def __init__(self, name):
        self.name = name

    def capital(self):
        pass

    def language(self):
        pass

class India(Country):
    def capital(self):
        return "New Delhi"

    def language(self):
        return "Hindi"
    
class USA(Country):
    def capital(self):
        return "Washington DC"

    def language(self):
        return "English"

예시 #2

User 클래스 계속해서 생성

Enter 키를 계속 누르면 Amazon Q Developer가 계속해서 클래스를 추가/생성합니다.

일반적인 프롬프트

CREATE objects of classes India and USA and print their capital and language

Python 프롬프트

코드 제안의 끝으로 가서 Enter 키를 누릅니다. 그러면 Amazon Q Developer가 클래스에 다음 코드를 추가할 것입니다.

"""
CREATE objects of classes India and USA and print their capital and language
"""
Amazon Q Developer 제안
    india = India("India")
    print(india.capital()) # New Delhi
    print(india.language()) # Hindi

    usa = USA("USA")
    print(usa.capital()) # Washington DC
    print(usa.language()) # English
PreviousUser 클래스NextSQL

Last updated 11 months ago