목록전체 글 (141)
공부하는 스누피
stackoverflow.com/questions/30076248/jquery-each-loop-return-false-not-end-the-function jquery each loop return false not end the function I have a function which get a dot seperated string and parse it to array. And I want to loop these array elements and check a value is greater than 255 and return false, if not continue to function stackoverflow.com 문제상황 - 콜백함수 안에서 false를 return해도 submit이 되어버..
멤버 클래스(member class) / 중첩 클래스(nested class) 다른 클래스 안에 정의된 클래스. 자신을 감싼 outer class에서만 쓰여야 하고, 그 외에 쓰임새가 있다면 top-level 클래스로 만들어야 한다. (클래스 파일 하나 더 만들란 얘기다.) 종류: static 멤버 클래스, non-static 멤버 클래스, 익명 클래스, 지역 클래스 static 멤버 클래스를 제외한 나머지는 다 inner class에 해당한다. 정적 멤버 클래스 (static member class) 다른 클래스 안에 선언되고, outer 클래스의 private 멤버에도 접근할 수 있다. 바깥 인스턴스와 독립적으로 존재할 수 있다. 멤버 클래스에서 바깥 인스턴스에 접근할 일이 없다면 정적 멤버 클래스로..
equals 메서드는 Object 클래스에 정의되었지만, 객체 인스턴스 간 논리적 동치를 확인하기 위해 종종 재정의된다. 이 메서드를 재정의한다면 반드시 hashCode 메서드도 재정의해야 한다. hash를 사용하지 않는 클래스라도 Hash 기반의 자료구조의 요소일 경우 hashCode를 사용하게 되기 때문이다. Object 클래스에서는 equals 메서드를 단순 주소값 비교로만 사용한다. ==와 같은 역할을 한다고 보면 된다. Object를 상속받은 String같은 클래스의 경우 부모 클래스의 equals 메서드를 그대로 쓸 수는 없다. "hi"와 "hi"가 논리적으로는 같은 문자열인데 다른 String 인스턴스 변수에 들어 있으면 주소값을 비교해 다른 객체라는 결과가 나와버린다. 그래서 String뿐..
싱글턴이란? 싱글턴(Singleton)은 디자인 패턴 중 생성 패턴으로, 해당 클래스에서 생성되는 인스턴스가 단 하나임을 보장한다. 클래스에서 인스턴스가 하나임이 보장되면 인스턴스를 쉽게 통제할 수 있으며, 재사용이 쉽다. 하지만 mock이 불가능해 클라이언트를 테스트하기 어려워진다는 단점이 있다. mock은 인스턴스를 여러 개 만들 수 있어야 가능하기 때문이다. 예를 들어, 무상태 객체(stateless object)나 시스템 컴포넌트에서 싱글턴 패턴을 사용한다. 싱글턴 만드는 방식 싱글턴 만드는 방식은 크게 두 가지가 있으나 둘 다 생성자를 private으로 숨긴다. private Contructor(){ ... 생성자를 숨긴다 ... } 1) public static final 멤버 변수에 인스턴스..
정적 팩터리 메서드란? 팩터리 메서드는 디자인 패턴 중 생성 패턴의 한 종류로, 생성자로 직접 객체 인스턴스를 생성하는 대신 메서드가 객체를 생성해 반환값으로 넘긴다. 클라이언트는 팩터리가 건네주는 객체가 원하는 클래스의 하위 클래스이기만 한다면 어느 클래스의 인스턴스인지 알 필요가 없게 한다. 장점 1. 생성자보다 더 구체적인 이름을 가질 수 있다. => 메서드 호출 시 직관적으로 기능을 짐작할 수 있다. 2. 메서드가 호출될 때마다 인스턴스를 생성하지 않아도 된다. => 생성자는 호출될 때마다 인스턴스를 생성해서 인스턴스를 재활용하기 어려울 뿐더러 불변 클래스에 적용할 수 없다. => 이 특징은 싱글톤을 구현할 때 적용된다. 한 싱글톤 클래스당 하나의 인스턴스만을 보장하기 때문이다. => 인스턴스를 ..

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV141176AIwCFAYD&categoryId=AV141176AIwCFAYD&categoryType=CODE&problemTitle=%EC%82%AC%EC%B9%99%EC%97%B0%EC%82%B0&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 생각과정 - 연산이 가능한 조건 1: 리프 노드는 무조건 숫자여야 한다. - 연산이 가능한 조건 2:..

Encapsulation Class 안에 데이터와 기능을 담아 정의하고, 필요한 기능만 공개한다. 이때 중요한 데이터는 Access Modifier로 숨길 수 있다. public한 데이터를 최소화시키면 캡슐화가 잘 되어 있다고 할 수 있다. Inheritance 기존에 존재하는 객체의 속성과 기능을 상속받아 새로운 객체를 정의하는 것. 이를 통해 클래스를 재사용할 수 있다. Polymorphism 같은 타입 또는 같은 기능을 호출해서 다양한 효과를 가져오는 것을 의미한다. 대표적으로 overriding과 overloading을 예로 들 수 있는데, overriding은 같은 기능을 재정의 해서 클래스에 따라 다양한 효과를 가져올 수 있게 하였고, overloading은 같은 이름의 메서드에 파라미터에 따..
자바에서 문자열은 String 객체를 클래스로 명시해야 한다. 정수나 실수, 그리고 문자(char)도 primitive type에 포함되는데 왜 문자열은 primitive type에 포함되지 않는지부터 알아보자. 자바에서 primitive type은 공간을 효율적으로 쓰게 해 준다. 데이터 타입별로 값의 크기가 일정하기 때문이다. int형은 -2^32 ~ 2^32-1의 범위 안에서만 표현 가능하고, char형은 16비트에서만 표현할 수 있게 정해 둔다. 이렇게 값의 크기에 제한을 두면 메모리 상에 저장할 공간을 지정할 때 훨씬 쉬워진다. 더 이상 값의 크기가 변경되지 않으니 Stack 영역에 벽돌처럼 차곡차곡 쌓을 수 있을 것이다 (데이터를 효율적으로 보관할 수 있다). 하지만 크기가 변화무쌍한 데이터 ..