목록java (3)
가자미의 개발이야기

a. 클래스 변수(스태틱 변수) 모든 클래스에서 공유하기 위해 클래스에 속하지 않는 독립적인 변수라고 생각하면 편한다. 하지마 자바로 코딩할 때 그런 독립적인 변수도 클래스 안에 써줘야 하니, 이를 구분하기 위해 앞에 static이라고 붙이는 것이다. 즉 static 변수는 자신이 몸담고 있는 클래스와 관련 없는 독립적인 존재이다. 하지만 한가지 지켜줘야 하는 것이 있는데, 자신이 몸담고 있는 클래스가 지정한 접근 수준의 접근을 허용한다는 점이다. 즉 인스턴스의 이름으로 외부에서 접근 가능한 경우도 생기게 된다. 따라서 static변수에 접근할 때는 인스턴스의 이름으로 접근하기보다 클래스의 이름으로 접근해주는게 좋다.(인스턴스와 구분하기 위해) b. 스태틱 메소드 전체적인 특징은 앞서 설명한 클래스 변수..

a. 정보 은닉 자바의 정보은닉은 외부에서 클래스에 있는 데이터를 다루려 할 때, 데이터 자체에 접근하지 말고, 기능으로 데이터를 활용할 수 있도록, 즉 간접적으로 영향을 미치도록 하는 기능이다. 정보 은닉을 위해서는 인스턴스 변수 앞에 private라는 접근 수준 지시자를 붙여주면 된다. private를 붙인 변수는 외부에서 직접 접근이 불가능해진다. 다만 메소드의 매개변수를 통한 접근은 가능해진다. 예를 들어 인스턴스명.변수=~~;로 변경은 불가능하지만 class메소드(~~)로는 변경 가능하다. b. 접근지시자 접근 자유도 순으로 public / protected / default(지시자를 선언하지 않은 경우 포함) / private 이 네가지 지시자를 쉽게 분류할 수 있는 방법은 private 기준..

이름이 같은 클래스를 사용해야 하는 상황이 발생한다고 상상해보자. 이름이 같은 클래스가 디렉토리에 존재할 수 없으니, 서로 이름이 다르게 하거나, 서로 위치를 달리해야 할 것이다. 이를 위해 사용되는게 자바의 패키지 개념이다. 패키지의 이름이 중복되지 않도록 하는 몇가지 규칙이 있다. 먼저 패키지 이름은 모두 소문자로 작성해야 한다. 인터넷 도메인 이름의 역순으로 이름을 구성해야 한다.(예를 들어 naver에서 가져온 클래스일 경우 com.naver;이런 식) 이름 끝에 클래스를 정의한 주체 또는 팀의 이름을 추가해야 한다.(예를 들면 철수가 정의한 패키지는 com.naver.chulsoo;)로 정의할 수 있다. 이렇게 생성된 패키지는 클래스패스-com디렉토리-naver디렉토리-chulsoo디렉토리-클래..