'CS Study/Csharp' 카테고리의 글 목록 (3 Page)
본문 바로가기
728x90
반응형

CS Study/Csharp29

22.03.02_Debug와Release의차이 01.Debug모드 실행 파일에 디버깅 정보를 삽입하면 언제든지 디버깅을 할수 있도록 하고 debug서브 폴더에 실행파일을 만들어 줌 디버깅 정보가 들어가 있어 실행파일 상태를 확인할 수 있음 디버그에 필요한 정보들을 실행시 계속 체크함으로써 속도가 느림 debugging가능한 정보를 포함한 excution binary 디버그를 하기 위해서 사용 02.Release모드 초기화를 하지 않음 같은 문자열 상수라도 서로 다른 공간에 할당됨 디버깅정보를 삽입하지 않고 코드를 최적화하여 실행 파일 크기를 최대한으로 줄여줌 속도나 크기면에서 월등히 유리함 메모리 점유율로 낮아지고 실행도 빨라짐 현재 버전에서 결함이나 문제점을 발견할 수 없었을때 빌드해 주는 모드 단순한 excution binary 배포를 위해서 사.. 2022. 3. 2.
22.03.01_코드커버리지 01.코드커버리지 SW의 테스트를 논할 때 얼마나 테스트가 충분한가를 나타내는 지표중 하나 말 그대로 코드가 얼마나 커버되었는가 소프트웨어 테스트를 진행했을 때 코드 자체가 얼마나 실행되었느냐는 것 코드의 구조를 이루는 것은 Statement(구문) Condition(조건) Decison(결정) 이러한 구조를 얼마나 커버했느냐에 따라 코드 커버리지의 측정기준은 나뉘게 됨 구문 커버리지 실행 코드라인이 한번 이상 실행되면 충족됨 void statement (int x) { system.out("start line"); // 1번 if (x > 0) { // 2번 system.out("middle line"); // 3번 } system.out("last line"); // 4번 } 위 코드를 테스트 할때 .. 2022. 3. 2.
22.03.01_추상화와캡슐화란? 01.추상화와 캡슐화 란? 01.1 추상화란? 공통의 속성이나 기능을 묶어 이름을 붙이는 것 객체 지향적 관점에서 클래스를 정의하는 것을 바로 추상화라고 할 수 있음 예를 들면 사자, 호랑이, 코끼리, 원숭이가 있다면 이것들을 각각의 객체라 하며 이 객체들을 하나로 묶으려 할때, 만약 동물 또는 생물이라는 어떤 추상적인 객체로 크게 정의한다고 할때 이때 동물 또는 생물이라고 묶는 것을 추상화라고 함 구체적인 것을 분해해서 관찰자가 관심있는 특성만을 가지고 재조합하는 것 객체들의 공토 속성과 행위를 추출하는 것 컴퓨터를 예로 들면 Ram, SSD, CPU 등 가지고 있는 속성 주소를 연결하고 프로그램을 실행하는 것 공통된 행위 노트북을 실행하는 기능을 정의하는 것이 아니라 어떤 노트북이든 공통적으로 가지고.. 2022. 3. 2.
22.03.01_인터페이스.인터페이스 01.인터페이스 클래스가 따라야하는 약속 이약속은 인터페이스로 부터 파생될 클래스가 어떤 메소들르 구현해야 할지를 정의함 02.인터페이스 선언 interface 인터페이스이름 { 반환형식 메소드이름1(매개변수_목록); 반환형식 메소드이름2(매개변수_목록); } 클래스와 비슷해 보이지만 메소드, 이벤트, 인덱서, 프로퍼티만을 가질수 있다는 차이가 있음 이름을 작명할때는 인터페이스 이름은 대문자아이(I)를 붙이는 것이 관례 03. 인터페이스 사용 인터페이스는 다중 상속이 가능하다. 기존 인터페이스에 새로운 기능을 추가하고 싶은 경우 사용 그냥 인터페이스 기능 추가하려면 추가하려는 인터페이스를 수정하면 된다고 생각할 수 있지만 그렇게 해도되는 경우가 있고 아닌 경우가 있음 인터페이스가 .NET SDK에서 제공.. 2022. 3. 2.
728x90
반응형