프로그래밍을 하다보면, 협업을 위해 팀 또는 회사가 규칙을 정해서 Coding Rule를 만듭니다!
일종의 규칙이자, 관례 그리고 법이라고 생각합니다! 이번에는 Coding Convention에 대해 다뤄보려고 합니다!!
Class의 경우에는! 각 단어의 앞글자를 대문자로 사용합니다!
class MyClass // o
class myclass // x
그리고, 클래스는 대게 특정한 오브젝트를 이름으로 가집니다!
method의 경우에는! 첫 단어의 앞글자는 소문자이고, 다음 글자의 앞글자는 대문자입니다!
void helloDongGeon // o
void HelloDongGeon // x
method는 메세지를 던져주는 역할을 합니다!
그러다 보니 class와 다르게 동사형을 사용합니다! ~~하다 라는 의미를 갖는 이름을 가지도록 명칭을 지어주어야 합니당당
field명은 method와 비슷합니다! 하지만! class와 마찬가지로 특정한 오브젝트를 이름으로 가집니다!
int human = 3; // o
int run = 4; // x
java에서는 모든 것이 레펀스 값입니다!! <-- 곰튀김님께서 해주신 말씀!
자바의 타입에서는 원시값과 박싱된 값이 있는데,,,
원시값은
boolean, byte, int, short, long, float, double, char이 있습니다!!
우리가 자주쓰는 String은 원시값이 아닙니다!! 이것에 대해서는 다음 Chapter에서 작성하겠습니당!
Call By Value : 값에 의한 호출
원래의 데이터를 복사해서 처리하기 때문에 원본 값을 보존할 수 있다!
Call By Refernece : 참조에 의한 호출
원래 데이터를 직접 참조하여 사용하기 때문에 공유해서 쓰는 방법이다!, 원본 값을 사용하기 때문에 원래 값에 영향을 미칠 수 있다!
public void talk() {
String convention = "";
for(int i=0; i < 10; i++){
convention += "a";
}
}
위의 코드처럼 String 객체에 +=
연산을 진행할 경우 이미 메모리에 상주한 값을 바꾸는게 아니라, 새로운 데이터를 메모리에 생성하게 됩니다!!
결국!! 이와 같은 로직이 있다면 메모리가 폭발!!
모든 객체의 최상위 객체는 Object
입니다!!
public class People extends Object
모든 클래스에서 Object
최상위 클래스는 자동적으로 extends되어 집니다~~
그렇기 때문에 Object
class에서 사용되는 메서드를 @Override
해서 쓸 수 있어요~