728x90 분류 전체보기302 [스터디] 자바와 절차적/구조적 프로그래밍 [스터디] 자바와 절차적/구조적 프로그래밍 5주간 라는 책을 가지고 스터디를 진행하게 되었다. 기본적인 자바 사용법을 알고 있지만, 객체 지향의 개념이라던지, 디자인 패턴이라던지 하는 것이 와닿지 않고 실제 프로그램의 코드를 계획하고 직접 쓸 때 전반적인 개념을 활용하지 못하는 사람에게 적절한 책이다. 1장은 서문과 같은 느낌이다. 다만, 좀 더 상세한 부분이 있다. 이번 글에서는 2장 절차적/구조적 프로그래밍을 중심으로 다룰 예정이지만, 짤막하게 정리하고 넘어가고자 한다. 1. 1장 간략 정리 1) 기술의 발전사 기술은 사람이 필요한 것들을 품으면서 발전해왔다. 기계어에서 어셈블리어, 어셈블리어에서 C언어 계열, C언어에서 C++, C++에서 Java 여기에 빠진 언어들이 있겠지만 대표적인 언어들로 하.. 2022. 7. 13. [C언어] C언어 구조체(struct) C언어 구조체(struct) Goal. : 구조체의 기본 활용방법부터 포인터를 이용한 구조체 값 변경방법까지 이해한다. 1. 구조체가 만들어진 이유. C언어는 자료를 체계적으로 관리하기 위해 구조체라는 문법을 사용한다. 코드를 구현하다보면 많은 변수들이 선언이 되는데, 이 중 중복적으로 사용되는 코드들이 있다. void introduce(int age, char* name, char* hometown, char* favorite_food); void talk(int age, char* name, char* hometown, char* favorite_food); int main() { int person1_age = 20; char* person1_name = "홍길동"; char* person1_hom.. 2022. 7. 13. [C언어] 문자열을 활용한 여러 함수 만들기 [C언어] 문자열을 활용한 여러 함수 만들기 1) 주어진 문자열이 원래 문자열의 시작점부터 일치하는 지 확인하는 함수 구현 // start_with #include // c언어의 타입 정의 typedef int bool; // 이렇게 하면 타입을 정의할 수 있다. #define true 1 // 값에 대한 별명 #define false 0 int get_length(char* b){ int length = 0; while(1){ if(b[length] != '\0'){ length++; continue; } break; } return length; } bool starts_with(char* a, char* b){ for(int i = 0; i < get_length(b); i++){ if(a[i] !.. 2022. 7. 13. [C언어] 문자열 활용하기 [C언어] 문자열 활용하기 1. 문자와 문자열 C언어에서 문자와 문자열은 다른 자료 구조이다. 문자(character) : ‘a’, ‘b’, ‘$’ ‘@’ 등과 같은 단일의 기호를 말한다. 작은따옴표 안에 기호를 쓴다. 정수나 실수 데이터도 작은따옴표 안에 있으면 문자로 인식된다. ‘13’은 문자 처리가 되지 않아 오류가 생길 수 있다. 문자열(String) : “nice”, “안녕” 등과 같이 두 개 이상의 문자 결합 구조를 가진다. 큰따옴표 안에 기호를 쓴다. 1) 문자의 선언 방법 C언어의 문자 자료형은 메모리 한 칸에 하나의 문자만 삽입될 수 있다. char 변수명 = '변수값'; 메모리 안에 변수의 값이 들어가게 된다. 2) 문자열의 선언 방법 메모리 한 칸에 하나의 문자만 들어갈 수 있기 때문.. 2022. 7. 12. [CS] 결합도와 응집도 [CS] 결합도와 응집도 좋은 도구를 가지고 요리를 하는 방법은 너무나도 많다. 직접 화로에 고기를 굽는 방법도 있고, 스테인리스 팬에 고기를 튀기듯 굽는 방법도 있다. 그런데 멀쩡히 가스레인지가 있음에도, 화로를 피워서 그 위에 스테인리스 팬을 두고 고기를 굽는 것은 정말 비효율적인 방법이라고 할 수 있다. 도구를 올바르게 사용하는 법이 있듯, 객체 지향의 특성을 올바르게 사용하는 방법, 즉 객체 지향 언어를 이용해 객체 지향 프로그램을 올바르게 설계해나가는 방법이 있다. 많이 알려진 원칙은 SOLID(객체 지향 설계 5원칙)이다. 이것을 알아보기 이전에 결합도와 응집도를 먼저 알아보고자 한다. 다섯 가지의 원칙들도 결합도를 낮추고 응집도를 높이는 과정에서 모두 만들어진 것이라고 볼 수 있다. 그렇기 .. 2022. 7. 12. [Java] 생성자와 NullPointerException [Java] 생성자와 NullPointerException 생성자를 공부하다가 NullPointerException을 만났다. 초보 개발자들은 누구나 이 예외문을 만나보았을 것이다. 그렇다면, 이 예외를 어떻게 해야 만나지 않을 수 있을까. 어떤 부분을 신경써서 보아야 하는 것일까? 1. NullPointerException의 정의 실제 값이 아닌 null을 가지고 있는 객체 또는 변수를 호출할 때 발생하는 런타임 오류이다. null 값을 가지고 있는 것을 가지고 toString을 한다 던지, 어떤 객체 안에 있는 null 값을 가지고 있는 변수를 호출한다던지 할 때 발생한다. String data = null; System.out.println(data.toString()); // ~~~~(NullPo.. 2022. 7. 11. 이전 1 ··· 25 26 27 28 29 30 31 ··· 51 다음 728x90