일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- codility
- 자료구조
- OS
- 운영체제
- 동적계획법
- 병행성
- 디자인패턴
- 그리디알고리즘
- 멀티프로세서
- 알고리즘
- 컨디션 변수
- 다이나믹 프로그래밍
- 스케줄링
- DirectX 12
- I/O장치
- 타입 객체
- 파일시스템 구현
- 그리디 알고리즘
- DirectX12
- 멀티쓰레드
- 다이나믹프로그래밍
- 쓰레드
- directx
- 프로그래머스
- 백준
- 병행성 관련 오류
- 락
- 렌더링 파이프라인
- 영속성
- Direct12
- Today
- Total
목록분류 전체보기 (500)
기록공간
String 클래스 String 클래스는 내부 문자열에 대한 수정이 불가능하다. (내용 불변 : Immutable) 문자열의 내용이 변경되면 새로운 객체를 생성하며 참조 대상을 잃어버린 객체는 가비지 컬렉션의 대상이 되고, 새로운 객체에 새 주소를 할당하게 되므로 해시코드도 변하게 된다. String 클래스 간에 + 연산자를 사용하게 되면 문자열 간의 결합이 가능하며, String 클래스와 다른 클래스 객체, 또는 기본형 데이터 간에 + 연산자를 사용하는 경우에도 내부적으로 자동 String 클래스로 변환이 가능하다. String은 내부 문자열의 내용을 변경할 수 없기 때문에 + 연산자를 사용하여 문자열의 결합을 수행하게 되면 내부적으로 StringBuffer를 생성하여 append() 메서드를 이용해 ..

import java.util.*; public class Solution { public int solution(int n) { int ans = 1; while(n > 1) { if(n % 2 == 1) ++ans; n /= 2; } return ans; } }

개요 스크럼이란 럭비에서 반칙으로 경기가 중단된 경우 양 팀의 선수들이 럭비공을 가운데 두고 상대팀을 밀치기 위해 서로 대치해 있는 대형을 말한다. 스크럼은 이처럼 팀이 중심이 되어 개발의 효율성을 높인다는 의미가 내포된 용어이다. 스크럼은 팀원 스스로가 스크럼 팀을 구성(self-organizing) 해야 하며, 개발 작업에 관한 모든 것을 스스로 해결(cross-functional)할 수 있어야 한다. 스크럼 팀은 제품 책임자, 스크럼 마스터, 개발팀으로 구성된다. 제품 책임자(PO : Product Owner) 이해관계자들 중 개발될 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사 결정할 사람으로 선정하는데, 주로 개발 의뢰자나 사용자가 담당한다. 이해관계자들의 의견을 종합하여 제품에 대한 요..
개요 일반적으로 클래스는 하나만 존재하는 것이 아니라 같은 종류의 클래스를 여러개 묶어서 사용하게 되는데, 이러한 클래스나 인터페이스의 묶음을 패키지(package)라고 한다. Sun(Oracle)사에서는 자바 프로그램을 효율적으로 작성할 수 있도록 자바 표준 패키지를 제공하며, 자바 표준 패키지에는 그래픽, 네트워크, 데이터베이스 등의 다양하고 유용한 클래스들이 포함되어 있다. import 구문 자바 표준 패키지나 사용자에 의해 외부에서 만들어진 패키지를 사용하기 위해서는 컴파일을 수행하기에 앞서 프로그램에 포함시키는 과정이 필요한데, 이 때 import 문을 이용하여 패키지 또는 클래스를 프로그램에 포함시키게 된다. 하지만, java.lang.* 패키지는 자바 프로그램에 기본적으로 import 되어 ..
중첩 클래스 (내부 클래스) 란? 중첩 클래스(또는 내부 클래스)란 클래스 안에 다른 클래스가 설계되어 있는 형태로 클래스 내부에서만 사용할 보조 클래스가 필요한 경우 클래스를 중첩하여 프로그램의 구조를 보다 더 간단하고 알아보기 쉽도록 만들 수 있는 클래스이다. 이는 특정 클래스를 자신의 클래스 내부적인 용도로만 사용할 목적으로 쓰이는데 특정 클래스를 마치 자신의 멤버 변수나 메소드처럼 사용할 수 있게 한다. 중첩 클래스의 종류 4가지 1. static 중첩 클래스 (중첩 내부 클래스) 클래스 내부에... public static class 클래스명 내부 클래스를 감싸는 외부 클래스 {} 안에 static이 붙은 새로운 클래스를 설계하는 것으로 모든 접근제어지시자를 사용할 수 있다. static 중첩 ..
인터페이스(Interface) 란? 인터페이스는 클래스를 위한 템플릿으로써의 기능을 수행하는 추상 클래스의 한 종류이다. 완전히 미완성된 채로 남겨져 인터페이스 안에 존재하는 그 어떤 메소드도 몸체(정의부, 구현부) 가 없기 때문에 사실상 실행 부분이 존재하지 않는다. 인터페이스는 클래스와 다르게 다중 상속이 가능하며 인터페이스 자체도 상속된다. 기존의 C++ 언어 등에서 지원되는 다중 상속이 사용 과정에서 많은 문제점을 노출시켰기 때문에 자바에서는 다중 상속의 개념을 인터페이스라는 개념으로 변형하여 인터페이스를 통해 다중 상속을 구현하는 방법을 지원한다. 인터페이스는 상수와 추상 메소드만 가질 수 있으며 인터페이스 안의 메소드들은 접근제어 지시자를 명시하지 않아도 public으로 설정되어 클래스의 구현..
캐스팅은 '(자료형)'을 사용하며 자료형을 명시적으로 변환시켜주는 작업을 한다. 하지만 이를 기본 자료형이 아닌 클래스에서 사용하면 업 캐스팅과 다운 캐스팅을 할 수 있다. 그럼 업, 다운 캐스팅이 무엇이며 어떻게 쓰는지 알아보도록 하겠다. 예제) // super class, 부모 클래스, 상위 클래스 class Super { public int a = 10, b = 20; public void write() { System.out.println("슈퍼 클래스 write() 메소드..."); } public int hap() { return a + b; } } // sub class, 자식 클래스, 하위 클래스 class Sub extends Super { public int b = 100, c = 20..