private, protected를 찾다가 본 좋은 글

Jang Seok Woo·2021년 7월 14일
0

실무

목록 보기
49/136

설계한 클래스를 혼자 사용하거나,

1회성으로 사용할 경우는 필요가 없습니다( 바람직하다고 생각지는 않지만 )

저는 private, protected 역시 const 와 쓰는 마찬가지인 이유로 쓴다고 생각합니다.

그런것들은 코드상에서 잠재적인 버그를 만들 수 있는 확률을 확실하게 줄여주며, 컴파일시에 잡을 수 있게 도와줍니다.

코드를 짤 때는

"내가 만든 코드는 항상 누군가 보고 이용( 재활용 ) 될 수 있다 "

라는 생각을 갖고 해야합니다.

자신이 짠 코드를 이용하는 사람들이 항상 자신이 원하는대로

이용할 거라고 생각하지 마십시오.

자세한 메뉴얼도 도움이 되겠지만 해당 언어에서 제공하는

키워드를 이용하여 코드의 이용을 제한하는것이 효과적입니다.

그런면에서 private, protected, const 등등은 인터페이스, 자원 등을 단일화, 강제화 시킬 수 있으며 이러한 코딩 습관은 발생 가능 한 수 많은 버그의 경우의 수를 줄여 줍니다.

출처 : https://kldp.org/node/48605

[ class 의 경우 ]

public : 모든 패키지에서 이 클래스를 참조할 수 있다.

private : 자신을 포함한 클래스에서만 참조가능

protected : 자신을 포함하는 클래스에서 상속받은 클래스에서도 참조가능

default : 동일 패키지 내에서 이 클래스를 참조할 수 있다.

[ 메소드의 경우 ]

public : 이 클래스밖에서도 이 메소드를 참조할 수 있다.

private : 이 클래스내에서만 참조가능

protected : 상속받은 클래스와 이 클래스내에서만 참조할 수 있다.

default : 동일 패키지 내에서만 참조할 수 있다.

사실 private나 protected, default 접근자의 차이점은 제껴두고라도

코드를 짜면서 나는 정작 왜 이 접근자를 선언하고 있는가 생각할 때가 있었습니다.

어짜피 짜는거 걍 public이나 default로 통일하면 되는거 아니야? 라면서 말이죠.

윗글은 서핑하다 찾아낸 명답입니다.

결과적으로 'private나 protected는 다른 코더를 위한 배려' 였다는 거죠 ^^

출처 : https://neoroid.tistory.com/389

profile
https://github.com/jsw4215

0개의 댓글