본문 바로가기
[Effective Java] equals 메소드를 오버라이딩 할 때는 보편적 계약을 따르자. [Effective Java] equals 메소드를 오버라이딩 할 때는 보편적 계약을 따르자. - 인스턴스의 동일 여부를 판정하는 equals 메소드의 오버라이딩은 간단한 것 같지만, 잘못되는 경우가 많아서 참담한 결과를 초래할 수 있다. ( 기본 equals 는 참조를 비교한다. ) - 다음의 조건이 만족된다면 슈퍼 클래스의 equals 를 그냥 사용해도 된다. 1. 클래스의 각 인스턴스가 본래부터 유일한 경우. 2. 두 인스턴스가 논리적으로 같은지 검사하지 않아도 되는 클래스의 경우. 3. 수퍼 클래스에서 equals 메소드를 이미 오버라이딩 했고, 그 메소드를 그대로 사용해도 좋은 경우. 4. private 이나 패키지 전용(package private) 클래스라서 이 클래스의 equals 메소드가.. 2015. 12. 31.
getter / setter 장단점 Getter / Setter 장단점 [ 장점 ] * 단순히 get, set 뿐만이 아니라 다른 일을 하고 싶을 때 유용하다. - validation 을 할 수 있다. - get, set 하는 값을 변형해서 set 하거나 return 할 수 있다. - 안의 구조를 숨길 수 있다. ( encapsulation ) - 안의 변수명을 숨길 수 있다. - 상속할 때 override 할 수 있다. - getter 와 setter 에 다른 access level 을 적용할 수 있다. - lazy loading 이 가능하다. - 몇몇 library, platform, framework 에서 이를 요구하기도 한다. ( reflection 등 이용 ) [ 단점 ] 단순한 get, set의 경우에는 mobile 환경에서 p.. 2015. 2. 12.
MYSQL TUtorial #1 웹 데이터베이스 만들기 MYSQL TUtorial #1 웹 데이터베이스 만들기 MYSQL 시작 MySQL 사용을 위해서는 다음의 과정을 완료해야 한다. 1. 웹 서버에 MySQL 설치를 마쳐야 한다. 파일 설치 MySQL 실행한 사용자 설정 경로(path) 설정 필요하면 mysql_install_db 를 실행 루트 비밀번호 설정 필요없는 사용자와 테스트 DB 등을 삭제 MySQL 서버 돌리고 자동적으로 실행되도록 설정 사용자 설정 : GRANT 명령어 Global, Database, Table, Column 4단계로 권한 조정이 필요하다. GRANT privileges [columns] ON itemTO user_name [IDENTIFIED BY 'password'][REQUIRE ssl_options][WITH [GRANT.. 2014. 1. 21.
[Java] Reflection Tutorial - Array Java, Reflection Tutorial - Array java.lang.reflect.Array array 에 대한 reflection 은 java.lang.reflect.Array 를 통해서 이루어진다. array 의 util 함수들을 가지고 있는 java.util.Arrays 와 착각하지 말자. Creating Arrays int[] intArray = (int[]) Array.newInstance( int.class, 3 ); Accessing Arrays int[] intArray = (int[]) Array.newInstance( int.class, 3 ); Array.set( intArray, 0, 123 );int a = Array.get( intArray, 0 ); Obtaining.. 2013. 12. 30.
[Java] Reflection Tutorial - Field. Java, Reflection Tutorial - Field. Obtaining Field Objects Field[] fields = aClass.getFields(); // only for publicField field = aClass.getField( "fieldName" ); getField() 는 없는 field 를 가져오려 하면 NoSuchFieldException 를 던진다. Field Name String fieldName = field.getName(); Field Type Object fieldType = field.getType(); Getting and Setting Field Values Class aClass = TestClass.class;Field field = aClass.. 2013. 11. 22.
[PHP] Tutorial, 객체 지향 PHP, Tutorial, 객체 지향 =====PHP 에서 클래스, 속성, 연산 만들기 class classname{ var $attribute1; function operation1( $param1 ){ }} =====생성자 __construct() 라는 이름을 가진다. =====소멸자 __destruct() 라는 이름을 가진다. =====생성 new 를 이용하여 생성한다. =====클래스 속성 사용하기 instance->attributeName 으로 접근한다. =====GET, SET 함수 __get, __set 함수를 가진다.해당 attribute 에 접근하면 자동으로 get, set 함수가 불리게 된다. =====private 와 public 으로 접근 제어하기 기본은 public. private.. 2013. 11. 15.
[jQuery] Slider 컨트롤. ( control ) Slider Control Slider 컨트롤 만들고, 사용하기 Sliderbar의 값을 get, set 하는 것은 val() 함수를 통해서 한다. //Get$("#slider").val(); //Set$("#slider").val( 10 ); data-highlight="true" 를 통해서 왼쪽편의 색깔을 바꿀 수 있고,data-track-theme="b" 를 통해서 slider 부분만의 테마도 변경 할 수 있다. data-highlight, data-track-theme, Get, input, jQuery, Max, Min, RANGE, Set, slider, slider control, step, type, Val, Value 2013. 11. 5.
[용어] BoilerPlate 코드란 무엇인가? ( 그리고 android ) [용어] BoilerPlate 코드란 무엇인가? ( 그리고 android ) - Boiler plate 의 뜻 자체는 우리가 익히 아는 "보일러(난로)" 를 찍어내는 통을 의미한다. - 코딩에서의 Boiler plate 는 꼭 필요한 간단한 기능인데, 반복적인 코드를 필요로 하며, 이것이 중복되어 많은 양의 코드를 양산하는 것을 이야기한다. ( 소위 말하는 "찍어내는 코드" 가 바로 그것이다. ) 가장 대표적인 예가 한 variable 에 대한 get/set function 들이라고 볼 수 있다. 꼭 필요하고 간단한 기능 -> Yes 반복적인 코드 -> Yes ( 특별한 기능이 없다면 그냥 private member 변수의 get, set 만 한다. ) 중복되어 많은 양의 코드 양산 -> Yes ( me.. 2013. 7. 13.
[VB] 이미지 불러와서 Resize 해서 PictureBox 에 붙이기. 이미지 불러와서 Resize 해서 PictureBox 에 붙이기 지인의 부탁으로 초등학교 5학년 때 이후 처음으로 Visual Basic 을 만져보았다.뭔가 VB 가 엄청나게 쓰이고 있다고는 하지만, 의외로 소스도 매우 부족하고,요즘 Hot 한 아이템이 아니라 그런가 전문자료도 부족한 것 같다.( 많은 Blogger 들이 VB 를 다루고 있지 않음.. ㅠ ) 그래서 이미지 불러와서 Resize 해서 PictureBox 에 넣는 것도구글링을 열심히 하고, Reference Doc 도 보고 하면서 여러가지 실험 끝에 완성.. 그 샘플코드를 공유하고자 한다. Private Sub SetPictureWithScale(fileName As String) Dim myPic As StdPicture Set myPic.. 2013. 5. 18.
반응형