본문 바로가기
[Kotlin Tutorial] 클래스, objects, 그리고 인터페이스 #1 - Chap4. Classes, objects, and interfaces [Kotlin Tutorial] 클래스, objects, 그리고 인터페이스 #1 - Chap4. Classes, objects, and interfaces 참조 : Kotlin in Action 4.1. Defining class hierarchies 4.1.1. Interface in Kotlin -Kotlin 의 interface 는 Java8 과 비슷하다.abstract method 를 가질수도 있고, Java8의 default method 도 가질 수 있다. ( Java8 과는 다르게 default keyword 는 필요없다 )단, state 는 여전히 가질 수 없다. ( 실제 variable ) -Kotlin 에서 interface 정의는 아래와 같다.interface Clickable{ fun.. 2017. 8. 11.
[Effective Java] public 클래스에서는 public 필드가 아닌 접근자(accessor) 메소드를 사용한다. public 클래스에서는 public 필드가 아닌 접근자(accessor) 메소드를 사용한다. - 어떤 클래스가 자신이 속한 패키지의 외부에서 접근 가능하다면 무조건 접근자 메소드를 제공하자. - 만일 패키지 전용 클래스거나 private inner class 라면 데이터 필드를 노출해도 아무 문제가 없으며 ( 클래스 설계를 잘 했다는 가정 하에 ), 접근자 메소드를 사용하는 것보다 코드를 알아보기 쉽다. - public 클래스에서 내부 필드를 외부로 노출하는 것은 결코 좋은 발상이 아니지만 필드가 불변이라면 그나마 덜 해롭다. Summary public 클래스는 자신의 가변 필드를 절대로 외부에 노출시키지 않아야 한다. 논란의 여지는 있으나 불변 필드를 노출하는 것은 그나마 덜 해롭다. 패키지 전용 또.. 2016. 10. 21.
[iOS Study] ARC 를 통한 메모리 관리 [iOS Study] ARC 를 통한 메모리 관리 출처 : 아론 힐리가스의 iOS 프로그래밍 - 메소드나 함수가 실행되면 스택(stack)이라고 하는 메모리 영역의 일부가 할당된다. 이 할당된 메모리 공간을 프레임(frame)이라고 한다. -프로그램을 시작하고 main() 이 실행되면 main() 의 프레임이 스택에 들어간다.main() 이 다른 메소드(또는 함수)를 호춣하면 그 메소드의 프레임은 스택의 꼭대기에 들어간다. 각 메소드나 함수가 끝날 때마다 해당 프레임은 스택 꼭대기에서 즉시 빠져나와 사라진다.그 메소드가 다시 호출되면 새 프레임이 할당되고 스택에 들어간다. - ARC(자동 레퍼런스 카운팅, Automatic Reference Counting) 가 프로그램의 메모리 관리를 대신해준다. - .. 2016. 2. 15.
Android 놓치기 쉬운 안드로이드 성능 향상 팁 Android 놓치기 쉬운 안드로이드 성능 향상 팁 출처 : http://developer.android.com/training/articles/perf-tips.html 아래 두가지 규칙이 모든 성능 향상의 기본 법칙이다. 1. 필요 없는 일은 하지 말아라. 2. 피할 수 있다면 memory 를 잡는 일을 하지 말아라. 참고로 micro-optimization 을 한다고 해도 모든 단말에서 똑같은 성능향상이 있는 것이 아니다.VM 의 종류, Processor 의 종류에 따라서도 조금씩 다르고, JIT 의 유무에 따라서도 다르다. 아래 항목들은 대부분의 환경에서 최적화시킬 수 있는 micro-optimization 기술을 소개한다. 쓸 데 없이 객체를 생성하지 말자. GC 를 유발하며, GC 는 conc.. 2014. 4. 3.
[Java] Interface 에서 몰랐던 사실. 상수 정의. 자바, interface 에서 몰랐던 사실. 상수 정의. 지금까지 자바를 사용하면서 interface 에 상수를 정의한 적이 없어서 interface 에 상수를 정의할 수 있다는 사실을 몰랐다. 사실 interface 에 상수를 정의하는 것은 anti-pattern 이기 때문에 사용하지 않는 것이 맞긴 하지만, 간혹가다 framework 나 library 를 사용할 때 상수가 interface 에 정의된 경우가 있기 때문에 알아두면 좋을 것 같다. interface OnDragListener{ String device = "Mouse";void onDrag();} 위와 같이 상수 정의가 가능하다. interface 의 경우 그냥 변수정의를 해도 자동으로 public static final 이 붙는다. 따.. 2013. 8. 16.
반응형