객체지향(Object-oriented)용어 - ADT, Class, Object, 클래스, 오브젝트
객체지향(Object-oriented) 는 재사용성과 유연성을 위해 도입된 프로그래밍 패러다임입니다.
Class 기반으로 개발을 하며, ADT, 상속(Inheritance), 다형성(Polymorphism)으로 구성되어있습니다.
Object oriented를 구성하는 각각의 용어에 대해 알아보겠습니다.
Abstract Data Type (ADT)
ADT, 추상적 데이터 타입은 데이터의 캡슐화(encapsulation)와
데이터에 연관된 동작(operation)을 하나의 단위(single syntactic unit)에 포함한 것입니다.
클래스(Class)
클래스는 ADT라는 개념을 실제로 구현한 것입니다.
데이터 구조와 오퍼레이션이 상세히 구현되는 코드라고 볼 수 있습니다.
ADT의 데이터구조와 오퍼레이션을 구현한 어트리뷰트(attribute)와 메소드(method)를 정의합니다.
예)
//클래스를 작성한 Java 코드 예제
class A{
int a;
print(){
System.out.println(a);
}
}
오브젝트(Object)
오브젝트란 소프트웨어 상에서 구현해야할 대상입니다.
클래스에 선언된 모양 그대로 생성된 실체이며, 클래스의 인스턴스입니다.
예)
class Computer{
int screen;
}
//a와 b가 오브젝트입니다.
Computer a = new Computer();
Computer b = new Computer();
인스턴스(Instance)
객체를 소프트웨어상에 실체화하면 그것을 인스턴스라고 부릅니다.
실체화된 인스턴스는 메모리에 할당되며, 객체가 메모리에 할당되어 실제 사용될때 인스턴스입니다.
클래스(Class) VS 객체(Object)
클래스는 틀, 혹은 설계도라고 볼 수 있고,
객체는 클래스를 이용해서 실제로 구현된 대상을 의미합니다.
객체(Object) VS 인스턴스(Instance)
클래스의 타입으로 선언되었을 때 객체라고 부르고, 그 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라고 부릅니다.
객체는 현실 세계에 가깝고, 인스턴스는 소프트웨어 세계에 가깝습니다.
객체를 클래스의 인스턴스라고도 부릅니다.
어트리뷰트
어트리뷰트란 클래스 내부에 포함되어 있는 변수입니다.
//클래스를 작성한 Java 코드 예제
class A{
int a; // <-- 이부분이 어트리뷰트입니다.
print(){
System.out.println(a);
}
}
메소드
메소드는 클래스에서 연산수행하는 코드를 의미합니다.
클래스에서 독립된 기능을 수행하는 단위입니다.
메소드는 다른말로 클래스 함수라고도 합니다.
//클래스를 작성한 Java 코드 예제
class A{
int a;
print(){ // <-- 이부분이 메소드입니다.
System.out.println(a);
}
}
총평
객체지향에 대해 본격적으로 시작하기 위해 가장 기본이 되는 클래스와 오브젝트 개념에 대해 알아보았습니다.
다음에도 계속해서 객체지향에 대해 알아보고자 합니다.
객체지향(Object-oriented)용어 - ADT, Class, Object, 클래스, 오브젝트
#객체지향,#클래스,#오브젝트,#ADT,#class,#object
'개발용어' 카테고리의 다른 글
SOLID 원칙 - 단일책임원칙, SRP (Single Responsibility Principle) (0) | 2022.05.05 |
---|---|
객체지향(Object-oriented)용어 - 상속, 다형성, 메소드오버로딩, 메소드오버라이딩, inheritance, method override, method overload (0) | 2022.04.25 |
디자인패턴이란, GoF디자인패턴이란, 디자인패턴의유래, 패턴을쓰는이유, (0) | 2022.03.29 |
에버그린 브라우저란, evergreen browser란? (0) | 2022.01.29 |
JWT란 (json web token 이란), JWT 사용하는 이유, JWT 동작방식 (0) | 2022.01.05 |
댓글