본문 바로가기

OOP2

[OOP] 리플렉션(reflection) ㅇ리플렉션(reflection): OOP에서 런타임에 프로그램의 구조를 검사하고 조작할 수 있는 메커니즘프로그램이 실행 중에 자신에 대한 정보를 탐색하거나, 구조를 동적으로 변경할 수 있다. 예를 들어, 클래스의 메타 정보를 기반으로 클래스에 정의된 메서드, 필드, 생성자 등을 조회하고, 이들을 통해 객체 인스턴스를 생성하거나 메서드를 호출하는 작업을 할 수 있다. 이런 작업을 리플렉션이라 한다. 또 추가로 애노테이션 정보를 읽어서 특별한 기능을 수행할 수도 있다. 최신 프레임워크들은 이런 기능을 적극 활용한다. ※ reflection은 자아성찰이라는 뜻을 갖고 있다 리플렉션의 기본 개념메타데이터 접근: 리플렉션을 사용하면 클래스, 인터페이스, 메서드, 필드 등의 메타데이터(데이터에 대한 데이터)에 접근.. 2024. 8. 23.
[OOP] 객체 vs 인스턴스 객체는 인스턴트스를 포함하는 개념이다 ㅇ객체(object)객체는 클래스에서 정의한 속성과 기능을 가진 실체이다. 객체는 서로 독립적인 상태를 가진다.예를 들어 위 코드에서 student1은 학생 1의 속성을 가지는 객체이고, student2는 학생 2의 속성을 가지는 객체이다. student1과 student2는 같은 클래스에서 만들어졌지만, 서로 다른 객체이다.   ㅇ인스턴스(instance)인스턴스는 특정 클래스로부터 생성된 객체를 의미한다. 그래서 객체와 인스턴스라는 용어는 자주 혼용된다. 인스턴스는 주로 객체가 어떤 클래스에 속해 있는지 강조할 때 사용한다. 예를 들어서 "student1 객체는 Student 클래스의 인스턴스다"라고  표현한다.  [객체 vs 인스턴스]둘 다 클래스에서 나온 실체.. 2024. 8. 5.