전체 글
-
[객체지향] 상속의 단점 - 메서드 오버라이딩의 부작용카테고리 없음 2022. 4. 17. 13:37
클래스 상속 관계에서, 자식클래스가 부모클래스의 메서드를 오버라이드 하는 경우, 부모클래스가 해당 메서드를 사용하는 방식에 자식클래스가 결합된다. 예시: 클래스 A 의 func2() 구현에는 func1() 을 호출하는 코드가 있는데, 클래스 B 가 func1() 을 오버라이드 했기 때문에 B 의 func1() 이 호출되는 상황이다. class A { void func1() { System.out.println("A: func1"); } void func2() { System.out.println("A: func2"); func1(); // 클래스 B 에서 func1() 을 오버라이드 하고 있기 때문에 부작용 발생 가능 } } class B extends A { @Override void func1() {..
-
[Dart] List.sort() 제대로 알기카테고리 없음 2022. 3. 14. 11:06
List 타입의 내장 함수 List.sort()를 이용해 정수 리스트 data를 내림차순 정렬하려고 한다. var data = [4,5,2,1,2,3,45,7,8,9,6,4,23,5,]; data.sort((a, b) => a < b ? 1 : 0); print(data); // print 결과: // [45, 23, 9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1] 여기까지는 문제없다. 그런데, data의 크기를 늘려보면 제대로 정렬이 되지 않는다. var data = [4,5,2,1,2,3,45,7,8,9,6,4,23,5,4,5,2,1,2,3,45,7,8,9,6,4,23,5,4,5,2,1,2,3,45,7,8,9,6,4,23,5,4,5,2,1,2,3,45,7,8,9,6,4,23,5,4,5..