[소프트웨어] 객체지향언어
·
컴퓨터공학/소프트웨어
객체지향 프로그래밍이란? 프로그래밍에서 객체를 사용하는 것을 말한다. 객체(object)란? 프로그래밍 관점에서 세상에 존재하는 여러 사물을 의미한다. 예를 들어 자동차, 컴퓨터, 고양이, 물고기 등이 있다. 객체지향언어의 역사 - 과학, 군사적 모의 실험을 위해 컴퓨터를 이용한 가상세계를 구현하려는 노력으로부터 객체지향이론이 시작되었다. - 1960년대, 최초의 객체지향언어 Simula가 탄생 - 1980년대, 절차 방식의 프로그래밍의 한계를 객체지향방식으로 극복하려고 노력하였다. 그 결과, C++, Smalltalk과 같은 발전된 객체지향언어가 탄생하였다. - 1995년, 말 Java가 탄생하였다. 이후부터는 객체지향언어가 프로그래밍 언어의 주류가 되었다. 객체지향언어의 특징 - 기존의 프로그래밍언어..
[소프트웨어] 디자인 패턴
·
컴퓨터공학/소프트웨어
디자인 패턴이란? - 아키텍처 설계 수준보다 낮은 수준의 설계 문제에 재사용 가능한 솔루션을 제공한다. 디자인 패턴의 혜택 쉽게 재사용 가능하며 개발 시간 단축된다. 소프트웨어 구조 파악이 용이하며 설계 관련 지식이 정리된다. 개발자(설계자) 간의 의사소통이 원할해진다. 객체지향 설계 원리를 잘 따르게 된다. Gof 디자인 패턴 여러 가지 문제에 대한 설계 사례를 분석하여 서로 비슷한 문제를 해결하기 위한 설계들을 분류하고, 각 문제 유형별로 가장 적합한 설계를 일반화해 패턴으로 정립한 것을 의미한다. 소프트웨어 설계에 대한 지식이나 노하우가 문제 유형별로 잘 구체화되어 있을 뿐 아니라, 동일한 문제 유형에 대해서는 그 해결 방법에 대한 지식이나 노하우가 패턴 형태로 충분히 일반화된 것을 말한다. 생성 ..
[소프트웨어] 명명 규칙
·
컴퓨터공학/소프트웨어
명명 규칙이란?패키지, 클래스, 메서드 등등에 대해 이름을 붙이는 방법 파스칼 케이스 (Pascal case)클래스, 인터페이스 이름 명사 또는 명사구이며, 첫 단어를 대문자로 시작 ex. class Dog() 카멜 케이스 (Camel case)필드, 메소드, 변수 이름 여러 단어를 함께 붙여 쓰되, 맨 앞에 오는 단어의 첫 문자는 소문자, 그 뒤로는 단어 구분을 위해 대문자로 쓴다. ex. countOfHit 메소드 이름일반적으로는 소문자로 시작하는 동사구함수 이름은 일반적으로 값을 설명하는 명사구필드의 값을 접근하여 리턴하는 함수는 앞에 "get"를 붙인다.조건이 묻는 boolean 반환 함수는 대부분 "is"로 시작변수 이름일반적으로는 소문자로 시작용도에 대한 힌트를 제공해야한다.모호한 이름을 사..
[소프트웨어] 자주 발생하는 오류
·
컴퓨터공학/소프트웨어
소프트웨어를 개발하면서 자주 발생하는 오류를 알아보겠습니다. 자주 발생하는 오류들 메모리 누수 : 메모리가 Free되지 않고 프로그램에 계속 할당되는 문제 중복된 프리 선언 : 이미 Free로 소멸된 자원들 또 다시 Free로 선언하는 경우 NULL의 사용 : NULL을 포인트하고 있는 곳의 콘텐츠를 접근하려 하면 오류 별칭의 남용 : 서로 다른 주소 값을 예상하고 사용한 두 변수가 별명(Alias)으로 선언된 경우 배열 인덱스 오류 : 인덱스 한도를 벗어난 배열 수식 예외 오류 : 0으로 나누는 오류. 변동 소수점 예외 오류 하나 차이에 의한 오류 : 0으로 시작할 것을 1로 시작 사용자 정의 자료형 오류 : 사용자 정의 자료형에서 언더플로 또는 오버플로 발생 경우 스트링 처리 오류 : strcpy등 ..