자바기반응용프로그래밍 - 객체 지향을 위한 클래스와 객체
·
Language/JAVA
캡슐화 객체를 캡슐로 싸서 내부를 볼 수 없게 하는 것. 외부의 접근으로부터 안전하게 보호하기 위해 필요 외부와의 접속을 위한 일부분은 공개 노출 가능 => 인터페이스 클래스 객체 모양을 선언 한 틀(캡슐) 필드(멤버 변수)와 메소드(멤버 함수)로 구성 객체 클래스 모양대로 생성된 실체(인스턴스) 치환 시 객체 자체가 아닌, 객체의 레퍼런스(포인터)가 복사됨 ex. 붕어빵 만드는 틀 - 클래스 팥붕 / 슈붕 / 치즈붕 - 객체 1,2,3.... 상속 서브 클래스(자식)가 슈퍼 클래스(부모)의 속성을 물려받고, 기능 확장 가능 다중상속 불가 (대신, 인터페이스 다중 상속 허용) 코드의 재사용 다형성 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작하도록 구현 메소드 오버로딩 : 클래스 내에서 같은 이..
자바기반응용프로그래밍 - 연산자, 조건문
·
Language/JAVA
자바 수식 연산자 증감: ++ -- 산술: + - * / % 시프트: >> >> 비교: > >= 자바 연산자 우선순위 () [] : 괄호 / 대괄호 ! ~ ++ -- : 부정, 증감연산자 * / % : 곱셈 / 나눗셈(몫, 나머지) 연산자 + - : 덧셈 / 뺄셈 연산자 > >>> : 비트 단위의 시프트 연산자 = : 관계 연산자 == != & : 비트 단위의 논리 연산자 ^ | && : 논리곱 연산자 || : 논리합 연산자 ? : : 조건연산자 = += -= *= /= %= true 따라서 논리합 연산자(둘 중 하나라도 true라면 true반환) => true => a = 3 비트 논리 연산 & : 논리곱(AND), 두 비트 모두 1일 경우에만 1 | : 논리합(OR), 두 비트 중 ..
자바기반응용프로그래밍 - 기본구조, 식별자, 데이터타입, 스캐너
·
Language/JAVA
자바 프로그램의 기본 구조 // hello.java public class Hello { public static int sum(int n, int m) { return n + m; } // main() 메소드에서 실행 시작 public static void main(String[] args) { int i = 20; int s; char a; s = sum(i, 10); // sum() 메소드 호출 a = '?'; System.out.println(a); // 문자 '?' 화면 출력 System.out.println("Hello"); // "Hello" 문자열 화면 출력 System.out.println(s); // 정수 s 값 화면 출력 } } class 이름 = 파일 이름 class 내 main은 ..
c++ 포인터 기초
·
Language/C++
변수 가리키기 - 포인터  포인터 변수의 주소를 저장하는 변수, 주로 ptr이라고 씀. #include using namespace std;int main() { int a = 20; int* ptr_a; // 포인터 변수, *(별표)로 구분 ptr_a = &a; // 다른 변수의 '주소를 저장하는' 변수 cout   포인터 활용해 변수값 바꾸기#include using namespace std;int main() { int a = 10; int* ptr; ptr = &a; cout  포인터를 가리키는 포인터#include using namespace std;int main() { int a = 10; int* ptr;..
c++ 실행 속도 높이기
·
Language/C++
1. ios::sync_with_stdio(false); ios::sync_with_stdio는 cpp의 iostream을 c의 stdio와 동기화시켜주는 역할을 합니다. 여기서 iostream, stdio의 버퍼를 모두 사용하기 때문에 딜레이가 발생하게 됩니다. ios::sync_with_stdio(false)는 이 동기화 부분을 끊는 함수입니다. 이를 사용하면 c++만의 독립적인 버퍼를 생성하게 되고 c의 버퍼들과는 병행하여 사용할 수 없게 됩니다. 대신 사용하는 버퍼의 수가 줄어들었기 때문에 속도는 높아지게 됩니다. 2. cin.tie(NULL); 디폴트는 cout,cin이 tie되어 있습니다. 만약 코드에서 cout > name; 이 순서라면 디폴트의 경우 "hi"가 먼저 출력되고 name을 입력..
c++ wntdll.pdb 오류 해결하기 - 기호 서버 체크
·
Language/C++
wntdll.pdb에 모듈 ntdll.dll의 소스를 찾는 데 필요한 디버그 정보가 포함되어 있습니다. 어제 백준 고양이 문제 풀 때도 발생한 오류창이었는데 개 문제 풀려니 또 생겼다. 어제는 복사 못했고 오늘 드디어함ㅋㅋ 구글링을 통해 알아낸 해결방법은 디버그창 옵션에 들어가서 Microsoft 기호 서버에 해제되어 있던 체크 표시를 활성화 해주는 거였음. 괜히 어제 말도 안되는 함수 인자니 포인터니 뭐니 서치했네 ㅠㅠ