320x100
320x100

연산자

- 프로그램 실행을 위해 연산을 표현하는 기호

- 산술연산자 : +, -, *, /, /, %

- 시프트 연산자 : >>, <<

- 관계 연산자 : >, <, >=, <=, ==, !=

- 논리 연산자 : &&, !!

- 비트 연산자 : &, |, ^, ~  (AND, OR, XOR, NOT)

- 대입 연산자 : =, +=, -=, *=, /=, %=

- 증감 연산자 : ++x, x++, --x, x--

- 삼항 연산자 : 조건 ? 참일때 : 거짓일때

 

 

표준출력

- C++

#include<iostream>

using namespace std;
void main(){
cout << "Hello" << endl << "개행";
cout << 10;
}

- JAVA

public static void main(String[] args){
System.out.print("%d", 10);
}

 

 

 

표준입력

- C

 : scanf("%s", &a);

ㆍ포맷스트링

  : %c(문자) / %s(문자열) / %d(10진수) / %x(16진수) / %o(8진수) / %f(실수)

 

- C++

 : cin >> a;

 : cin >> a >> b;

 

- JAVA

 : Scanner 스캐너변수 = new Scanner(System.in);

 : 변수 = 스캐너변수.nextInt();

 : 변수 = 스캐너변수.nextFloat();

 : 변수 = 스캐너변수.nextLine();

 

- Python

 : 변수명 = input()

 : 변수명 = eval(변수명)      # 숫자 입력

 

 

 

명령어

if문

- C / C++ / JAVA

 : if () {} else if () {} else {}

- Python

 : if : elif : else :

 

 

Switch (C / C++ / JAVA)

- switch (식) { case 값 : 명령문; break; default : 명령문 }

 

 

while문

- C / C++ / JAVA

 : while (조건) {명령}

- Python

 : while 조건 : 명령

 

 

for문

- C / C++ / JAVA

 : for (초기 값; 최종 값; 증감 값) {명령문;}

- Python 

 : for 변수 in range (시작값, 끝값+1, 증감 값) : 명령문

 : for 변수 in (반복횟수) : 명령문

 

 

루프제어 (C / C++ / JAVA / Python)

- break : 중단

- continue : 중단하고 다음 반복을 수행

 

 

 

 

사용자 정의 자료형

열거체 (C / C++ / JAVA)

- 서로 연관된 정수형 상수들의 집합

- 형식

class 열거체명(Enum) {

   멤버1,

   멤버2

};

 

 

구조체 (C / C++)

- 사용자가 기본 타입을 가지고 새롭게 정의할 수 있는 자료형

- 형식

struct 구조체명{

   자료형 변수명1;

   자료형 변수명2;

};

 

 

사용자 정의 함수

- C / C++ / JAVA 

 : int add(int a, int b){ 명령어; return a+b };

- Python

 : def 함수명(변수명) : 명령어 return 반환값

 

 

재귀함수

- 자기 자신을 호출하는 함수

 

 

 

 

객체지향

접근제어자

- public : 외부의 모든 클래스에서 접근 가능

- protected : 같은 패키지 내부의 클래스 및 하위 클래스에서 접근 가능

- default : 패키지 내부의 클래스에서 접근 가능 (JAVA에만 존재)

- private : 같은 클래스 내에서만 접근 가능

 

 

 

클래스

- C++

class student{
private:
	int age;
public:
	string hello(string hi){
    	cout << "hello";
        return age;
    }
};

- JAVA

public class student{
	private int age;
    public String hello(String hi){
    	System.out.println("hihi %s", hi);
        return age;
    }
}

- Python

class student:
	def __init__(self):
    	age = self.age;
	def hello(self, hi):
    	print("hello", hi)
        return age;

 

 

 

자기자신 참조

- C++ 

 : this -> 변수명

 : this -> 함수명(매개변수)

 

- JAVA

 : this.변수

 : this.함수(매개변수)

 

- Python

 : self.변수

 : self.함수명(매개변수)

 

 

 

클래스 선언

- C++

ㆍ일반변수

  : 클래스명 변수(매개변수);

  : 변수.메서드(매개변수);

 

ㆍ포인터변수 사용

  : 클래스명* 변수 = new 클래스명(매개변수);

  : 변수->메서드(매개변수);

  : delete 변수  // 소멸

 

- JAVA

 : 클래스명 변수 = new 클래스명(매개변수);

 : 변수.finalize();  // 소멸

 

- Python

 : 변수 = 클래스명(변수)

 : del 변수  // 소멸

 

 

 

생성자 (Constructor)

- 클래스의 객체가 생성될때 자동으로 호출되는 특수 메서드

 

- C++

class student{
public:
	student(int age, string name){
    	cin >> age;
        cin >> name;
     }
};

- JAVA

public class student{
	public student(int age, String name){
    	Scanner sc = new Scanner(System.in);
        age = sc.nextInt();
        name = sc.nextLine();
    }
}

- Python

class student:
	def __init__(self, age, name):
    	age = eval(input())
        name = input()

 

 

 

소멸자 (Destructor)

- 객체의 수명이 끝났을때 객체를 제거하기 위한 목적의 메서드

 

- C++

class student{
public:
	~student(){
    	// 명령어
    }
};

- JAVA

public class student{
	public void finalize(int a){
    	// 명령어
    }
}

- Python

class student:
	def __del__(self):
    	# 명령어

 

 

 

상속

- C++

class Parent{ };
class Child : public Parent{ };

- JAVA

public class Parent{ }
public class Child extends Parent{ } 

- Python

class Parent:
class Child(Parent):

 

 

 

오버로딩

- 동일한 이름의 메서드를 매개변수만 다르게 하여 재정의하는 것

 

- C++

class A{
public:
	void fn(){
    	cout << "no" << endl;
    }
    void fn(int age){
    	cout << age << "age" << endl;
    }
};

- JAVA

public class A{
	void fn(){
    	System.out.println("Hello");
    }
    void fn(int age){
    	System.out.println("%d", age);
    }
};

 

 

 

오버라이딩

- 하위 클래스에서 상위 클래스의 메서드를 재정의

 

- C++

class Parent{
public:
	virtual void Hello(string name){
    }
};

class Child : public Parent{
public:
	virtual void Hello(string name){
    }
};

- JAVA

class Parent{
	public void Hello(String name){
    }
}

class Child extends Parent{
	public void Hello(String name){
    }
}

- Python

class Parent:
	def Hello(self, name):
    
class Child(Parent):
	def Hello(self, name):

 

 

 

상위 클래스 접근

- C++

 : 부모클래스::매서드명();

 

- JAVA

 : super.메서드명();

 

- Python

 : super().메서드명()

 

 

 

추상클래스

- 구현되지 않은 추상 메서드를 하나 이상 가지며, 자식 클래스에서 반드시 구현하도록 강제

 

- C++

class Parent{
public:
	virtual void hello()=0;
};

- JAVA

abstract class Parent{
	abstract void hello();
}

- Python

class Parent:
	def hello(self):
    	pass

 

 

 

인터페이스 (only JAVA)

- JAVA의 다형성을 극대화하여 개발코드 수정을 줄이고 유지보수성을 높이기 위한 일종의 추상클래스

 : 오직 추상 메서드와 상수만을 멤버로 가질 수 있음

 : 하나도 구현된것이 없는 추상 클래스

 

- JAVA

interface A{
	void hello();
}

public class B extends A{
	public void hello(){
    	System.out.println("Hello");
    }
}

 

300x250
728x90