Di2 [OOP] 리플렉션(reflection) ㅇ리플렉션(reflection): OOP에서 런타임에 프로그램의 구조를 검사하고 조작할 수 있는 메커니즘프로그램이 실행 중에 자신에 대한 정보를 탐색하거나, 구조를 동적으로 변경할 수 있다. 예를 들어, 클래스의 메타 정보를 기반으로 클래스에 정의된 메서드, 필드, 생성자 등을 조회하고, 이들을 통해 객체 인스턴스를 생성하거나 메서드를 호출하는 작업을 할 수 있다. 이런 작업을 리플렉션이라 한다. 또 추가로 애노테이션 정보를 읽어서 특별한 기능을 수행할 수도 있다. 최신 프레임워크들은 이런 기능을 적극 활용한다. ※ reflection은 자아성찰이라는 뜻을 갖고 있다 리플렉션의 기본 개념메타데이터 접근: 리플렉션을 사용하면 클래스, 인터페이스, 메서드, 필드 등의 메타데이터(데이터에 대한 데이터)에 접근.. 2024. 8. 23. 사이드 이펙트(side effect) 사이드 이펙트(side effect)는 프로그래밍에서 어떤 계산이 주된 작업 외에 추가적인 부수 효과를 일으키는 것을 말한 다. 쉽게 말하면 '의도하지 않은 결과'를 의미하며 프로그래밍에서 사이드 이펙트는 보통 부정적인 의미로 사용한다. 1. 사이드 이펙트의 예시전역 변수 수정: 함수가 전역 변수를 수정하는 경우.입력 값 수정: 함수가 전달된 인자의 값을 직접 변경하는 경우.파일 시스템에 쓰기: 함수가 파일에 데이터를 쓰거나 파일을 수정하는 경우.데이터베이스 업데이트: 함수가 데이터베이스에 값을 삽입하거나 갱신하는 경우.콘솔 출력: 함수가 콘솔에 메시지를 출력하는 경우. (System.out.println() 등)네트워크 요청: 함수가 외부 네트워크 요청을 하는 경우. 2. 사이드 이펙트의 문제점"사이드.. 2024. 8. 20. 이전 1 다음