논리적 코딩
[이펙티브자바] 규칙05 : 불필요한 객체는 만들지 말라
사소하지만 중요한 객체 생성에 관한 내용이다. 그동안 별 생각없이 생성자를 호출해 객체를 만들어 사용해왔는데, 이는 마땅히 다른 대안, 방법이 없어서 그래왔었다. 그러다보니 어플리케이션이 느려지기 다반사였다. 아직 실제로 적용은 해보지 못했지만, 확실히 효율적인 방식임에는 이견이 없어 포스트를 작성한다. 불필요한 객체는 만들지 말라아래는 절대로 피해야할 극.단.적인 예시 코드이다.1String s = new String("문자열");cs 위 코드는 아래 코드로 대체되는데, 위 코드는 실행될 때마다 String 객체를 만들어낸다. 반면, 아래 코드는 새로운 객체를 만드는 대신 동일한 String 객체를 사용한다.1String s = "문자열";cs 좀 더 실재하는 코드를 보자면 다음과 같다. 아래 코드의 ..
[이펙티브자바] 규칙02 : 생성자 인자가 많을 때는 Builder 패턴을 고려하라
인스턴스를 생성할 때, 여러 인자의 값을 초기화 해줘야 할 때가 있다. 이번 규칙에서는 세 가지 패턴을 비교해 효율적인 방법을 제시한다. 점층적 생성자 패턴(telescoping constructor pattern) 12345678910111213141516171819202122232425262728293031323334public class NutritionFacts { private final int SERVING_SIZE; private final int SERVINGS; private final int CALORIES; private final int FAT; private final int SODIUM; private final int CARBOHYDRATE; public NutritionFac..
[입문] 3~4일차
01 input()123456# print('가위 바위 보 가운데 하나를 내주세요', end=' ')mine = input('가위 바위 보 가운데 하나를 내주세요')print('mine : ', mine) # input() : 사용자의 키보드 입력을 return# input('text') == print('text') input()cs 사용자의 입력을 받는 함수이다. 매개변수에는 입력을 받기 전 출력할 문장이 들어간다. 반환값은 사용자가 입력한 내용이다. 02 list1234567891011121314# LISTlist1 = ['가위', '바위', '보']list2 = [31, 24, 65, 34, 23] print(list1)print(list2) print(list1[0])print(list2[5-1..
[입문] 2일차
01 함수123456789101112a = 1b = 2c = -8 # a * x^2 + b * x + c = 0, a != 0 인 x에 관한 2차방정식에 대해# 근의 공식은def print_sqrt(): r1 = (-b + (b ** 2 - 4 * a * c) ** 0.5) / (2 * a) r2 = (-b - (b ** 2 - 4 * a * c) ** 0.5) / (2 * a) print('해는 {} 또는 {}'.format(r1, r2)) print_sqrt()Colored by Color Scriptercs Java의 메서드와 유사한 기능을 하는 것 같다. def 통해 선언하고 매개변수를 설정할 수 있다.Java 외길 인생인 나로선 상당히 당황스럽다. 메서드로 치면 public void print_..
[입문] 1일차
01 변수 선언123456789101112print("Hello World") identity = "지구인"numberOfLegs = 4 print("안녕! 나는", identity, "이야. 나는 다리가", numberOfLegs, "개 있어") identity = "화성인"numberOfLegs = 2 print("안녕! 나는", identity, "이야. 나는 다리가", numberOfLegs, "개 있어")cs 파이썬의 변수 선언은 자바와는 확실히 달랐다. 자료형 선언도 없고 세미콜론도 없다. 그리고 print()에서 자바의 경우에는 print("안녕! 나는" + identity + "이야. 나는 다리가" + numberOfLegs + "개 있어")라고 해야하는데, 파이썬은 쉼표(,)로 처리한다...