42.3 필드에 public을 붙여 외부 클래스에 공개하기
이 책에서는 클래스의 구성 요소인 필드는 무조건 private으로 선언합니다. 필드도 속성처럼 public으로 해도 전혀 상관은 없습니다. public으로 구성한 코드를 한 번 살펴보겠습니다.
> class Point . { . public int x; //필드: public 필드 . public int y; . . public Point(int x, int y) //생성자 . { . this.x = x; . this.y = y; . } . . public void MoveBy(int dx, int dy) //메서드 . { . x += dx; . y += dy; . } . } > > Point point = new Point(0, 0); //좌표 기본값 설정 > point.MoveBy(100, 200); //100, 200으로 이동 > Console.WriteLine($"X : {point.x}, Y : {point.y}"); X : 100, Y : 200
이처럼 public 속성 대신에 public 필드를 사용해도 프로그래밍에는 전혀 지장이 없습니다. 필드는 클래스의 부품 역할을 하는데, 이왕이면 꽁꽁 숨기길 권장하므로 private으로 선언하는 것뿐입니다.