Julia objects are transparent. What does that mean? Well, currently, the Julia language does not have the ability to apply access control over the fields of an object. Therefore, people coming from a C++ or Java background may find it a little uneasy. In this section, we will explore a number of ways in which to make the language more acceptable for those users who are seeking more access control.
So, perhaps we should define our requirements first. While we write up the requirements, we will also ask ourselves why we want to have them in the first place. Let's just consider any object in a Julia program:
- Some fields need to be hidden from the outside world: Some fields are considered to be part of the public interface and are, therefore, fully documented and supported. Other fields are considered implementation details, and they may not be used because...