Liên kết động trong Java là gì?

Liên kết động là quá trình kết nối một hàm (lệnh gọi thủ tục) với một phương thức cụ thể (chuỗi mã) tại thời điểm chạy. Điều này có nghĩa là hàm được thực thi bởi một phương thức vẫn chưa được xác định cho đến khi chạy -thời gian. Liên kết động còn được gọi là ràng buộc thời gian chạy hoặc ràng buộc muộn.

Khái niệm ràng buộc có liên quan chặt chẽ với các khái niệm lập trình hướng đối tượng khác như kế thừa và đa hình. Ràng buộc chỉ đơn giản là đề cập đến liên kết giữa định nghĩa phương thức và lời gọi phương thức. Các đối tượng thực tế được sử dụng trong thời gian chạy để ràng buộc. Liên kết động cho phép các nhà phát triển giao diện các chuỗi mã và đối tượng mới với một hệ thống mà không làm thay đổi mã hiện có, do đó loại bỏ các câu lệnh chuyển đổi. Ghi đè phương thức là một ví dụ điển hình về ràng buộc động.

Ngược lại với liên kết động là liên kết tĩnh. Không giống như liên kết động, liên kết tĩnh xảy ra trong quá trình biên dịch. Nó đôi khi được gọi là ràng buộc sớm vì ràng buộc xảy ra trước khi ứng dụng chạy. Một ví dụ điển hình về ràng buộc tĩnh là nạp chồng phương thức. Một điểm khác biệt chính giữa hai kiểu liên kết là liên kết tĩnh sử dụng thông tin lớp để liên kết trong khi liên kết động sử dụng các đối tượng để giải quyết ràng buộc. Thời gian mà ràng buộc xảy ra ảnh hưởng đến hiệu suất tổng thể của chương trình. Nếu sự ràng buộc xảy ra sớm hơn, độ an toàn và hiệu quả sẽ tăng lên trong khi tính linh hoạt giảm xuống.