목록Language/Java, Kotlin (19)
ecsimsw
자바의 접근 제한자 private : 같은 클래스 내에서만 접근 가능 default : 같은 패키지 내에서만 접근 가능 protected : 같은 패키지내 또는 자손 클래스일 경우 접근 가능 public : 제한 없음 캡슐화 접근 제한자는 객체지향의 캡슐화, 그리고 그를 통한 코드 은닉화를 위한 도구이다. 데이터를 외부로부터 숨기거나, 접근을 막고, 또는 접근에 처리를 강제화한다. 이전에 oop 캡슐화에 대해서 정리한 글이 있다. 객체지향을 공부하면서 캡슐화를 정확히 몰랐고, 은닉화와 구분하지 못해서 정리했던 기억이 난다. 그때 캡슐성을 아래 3개로 정리했다. Encapsulation 1) 유사한 기능이나 변수를 한 집합으로 하여 더 관리하기 쉽게하고 코드를 명확히 함. 2) 외부에서 멤버를 엑세스하는 ..
초기화 멤버 변수의 초기화는 선택적이지만, 지역 변수의 초기화는 필수적이다. 멤버 변수를 초기화 하는 방법에는 세가지가 있다. 0. 기본값 1. 명시적 초기화 2. 생성자를 통한 초기화 3. 초기화 블록 0. 기본값 초기화에 앞서, 멤버 변수는 초기화가 선택적이기 때문에 초기화가 안됐다면 자료형 마다 기본 값을 갖는다. boolean = false char = '\u000' byte,short,int = 0 long = 0L float = 0.0F double = 0.0 참조형 변수 = null 1. 명시적 초기화 가장 쉽게, 변수를 선언과 동시에 초기화하는 방식이다. class Person{ String name = "unkown"; int age=0; } 2. 생성자를 통한 초기화 생성자를 이용하여 ..
Int vs Short / Byte 작은 수를 저장할 변수의 타입은 4 바이트까지 과한거 아닌가?. Byte형은 혹시 모르고, 2 바이트 정도면 충분할 거 같은데 Short를 쓰는게 이득 아닐까?? JVM의 Operand stack은 피연산자를 4 바이트로 저장하기 때문에, 그 보다 작은 작료형은 오히려 4Byte로 변환하여 계산된다. => 성능을 고려한다면 int, 정말 공간을 효율적으로 사용해야한다면, 그땐 short나 byte 타입을 생각하자.