클래스와 객체 객체 메시지 클래스 객체 지향 String 클래스 객체 지향 개념을 완벽하게 이해하여야지 객체 지향 설계의 이점을 활용할 수 있다 Real World(실제 세계)는 객체로 이루어진다. 객체는 우리가 보고 느끼고 인지할 수 있는 그 모든 것을 의미한다고 보면된다. 객체는 자신만의 고유한 특성과 행동을 가지며 다른 객체들에게 행동을 요청하거나 정보를 주고 받는 등 상호작용을 하면서 존재한다. 객체 지향 실제 세계를 모델링하여 소프트웨어를 개발하는 방법 절차 지향과 객체 지향의 차이 절차 지향 프로그래밍(procedural Programming) 문제를 해결하는 절차를 중요하게 생각하는 방법 객체 지향 프로그래밍(Object-Oriented Programming) → OOP 데이터와 절차를 하나..

전체 글
rm -rf /소스 코드와 명령어 ‘컴퓨터는 명령어를 처리하는 기계’ 명령어는 컴퓨터를 실질적으로 작동시키는 매우 중요한 정보이다. 하지만 컴퓨터를 작동시키는 정보가 명령어라면 C, C++, Java, Python과 같은 프로그래밍 언어로 만든 소스 코드는 무엇일까요? 결론적으로는 모든 소스 코드는 ‘컴파일러’ 라는 것을 통해 컴퓨터 내부에서 명령어로 변환되어 실행됩니다. 고급 언어와 저급 언어 컴퓨터는 C, C++, Java, Python 과 같은 프로그래밍 언어를 이해할 수 있을까? 답은 “No!” 우리가 프로그램을 만들 때 사용하는 프로그래밍 언어는 컴퓨터가 이해하는 언어가 아닌 사람이 이해하고 작성하기 쉽게 만들어진 언어입니다. 컴퓨터는 이 언어를 이해하지 못합니다. 이렇게 ‘사람을 위한 언어’를 고급 언어(h..
반복문 반복의 개념 이해 while 반복문 do-while 반복문 for 반복문 break와 continue문 반복 구조는 일련의 처리를 반복할 수 있게 한다. 반복문 반복 구조는 왜 필요한가? → 같은 처리 과정을 되풀이하는 것이 필요한 상황이 필요할 수 있기 때문이다. → 학생 30명의 평균 성적을 구하려면 같은 과정을 30번 반복하여야 하는 상황이 있기 때문에 반복문의 종류 while문 for문 while문 주어진 조건이 만족되는 동안 문장들을 반복 실행한다. → 반복횟수가 명확하지 않을 때 사용한다. 예제 while(i < 5) { System.out.println("정수" + i); i++; } 무한 반복 while(true) { // 무한 반복할 코드를 작성 } if 문과 while 문의 비교..
변수, 연산자, 수식 변수(variable) 데이터 값들이 저장되는 메모리 공간 int i = 12; int ← 변수의 타입 i ← 변수의 이름 12 ← 변수의 데이터 변수(variable)와 상수(constant) 변수 : 저장된 값의 변경이 가능한 공간 상수 : 저장된 값의 변경이 불가능한 공간 자료형(data type) 자료의 타입을 나타냅니다. 자료형은 기초형, 참조형으로 나누어집니다. 기초형 : 실제 값이 저장된다. 정수형 : byte, short, int, long 실수형 : float, double 논리형 : boolean 문자형 : char 참조형 : 실제 객체를 가리키는 메모리 주소 저장 클래스, 인터페이스, 배열 더불어 String 형도 참조형 변수이다. 종류 타입 크기 범위 예시 정수..
연산자와 수식 연산자와 피연산자 연산자(operator) : 특정한 연산을 나타내는 기호 피연산자(operand) : 연산의 대상 자바에서 지원하는 연산자 여기서 주의할점은 연산자에는 우선순위가 존재한다. 수식 상수나 변수, 함수와 같은 피연산자들과 연산자의 조합 대입 연산자 대입 연산자(=)는 왼쪽 변수에 오른쪽 수식의 값을 계산하여 저장한다. 대입 연산자, 할당 연산자, 배정 연산자 모두 같은 뜻 산술 연산자 연산자 설명 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 % 나눗셈의 나머지 단항 연산자 연산자 의미 +x x를 양수로 만든다. -x x를 음수로 만든다. ++x x값을 먼저 증감한 후에 다른 연산에 사용됨 x++ x값을 먼저 사용한 후에, x값을 증감한다 —x x값을 먼저 감소한 후에 다른 연산에 사..
조건문 if문 if, else문 중첩 if문 switch문 필요에 따라서 조건이 만족되면 문장의 실행 순서를 변경 할 수 있는 기능 3가지 제어 구조 조건문 조건에 따라서 특정한 행동을 하도록 지시할 수 있는 문장 일상 생활에서의 조건문의 예시 만약 비가 오지 않으면 테니스를 친다. 만약 시간이 없는 경우에는 택시를 탄다. 만약 날씨가 좋고 공휴일이면 공원에 산책을 간다. 점수가 60점 이상이면 합격이고 그렇지 않으면 불합격이다. if-else문 if (조건식) 문장1; // 조건식이 true이면 해당 문장이 실행된다. else 문장2; // 조건식이 false이면 해당 문장이 실행된다. 예시 if (grade >= 60) // grade가 60 이상일 때 System.out.println("60점 이상..
자바의 가장 큰 장점 Write once, Run everywhere! ( 한 번 작성하면 어디서든 실행된다 ) 자바의 특징 단순하지만 강력하다 꼭 필요로 하는 기능만을 포함시키고 복잡하고 많이 쓰이지 않는 기능은 삭제 포인터 연산, 연산자 오버로딩, 다중 상속 등의 복잡한 기능을 삭제 자동 메모리 관리 기능, 멀티 스레드, 방대한 라이브러리 제공 객체 지향적이다 객체 지향은 지난 30년간의 연구를 통하여 그 가치를 입증한, 프로그램을 설계하는 방법론 기본 데이터 타입을 제외한 거의 모든 것이 객체로 표현 분산 환경 지원 네트워크상에서 동작되는 것을 기본으로 설계 쉽게 네트워크 관련 프로그램을 개발 견고하다 오류를 만들 수 있는 원인들을 제거 (예) 포인터 개념을 삭제하였으며 컴파일시에 강력하게 데이터 ..
“혼자 공부하는 컴퓨터 구조+운영체제” 책을 기준으로 작성하였습니다. 개발자가 컴퓨터 구조를 알아야하는 이유 컴퓨터 구조를 이해하면 문제 해결 능력이 향상됨 컴퓨터 구조를 이해하면 문법만으로는 알기 어려운 성능/용량/비용을 고려하며 개발할 수 있다. 우리가 알아야 할 컴퓨터 구조 지식 컴퓨터가 이해하는 정보 컴퓨터의 네 가지 핵심 부품 에 대하여 알아야한다. 컴퓨터가 이해하는 정보 데이터 : 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리이다. 명령어는 컴퓨터를 작동시키는 정보이고, 데이터는 명령어를 위해 존재하는 일종의 재료 이러한 점에서 컴퓨터 프로그램은 ‘명령어들의 모음..