목록프로그래밍 언어 (70)
알버트의 개발하는 블로그
자바에서는 c++과 다르게 String이라는 문자열을 처리할 수 있는 클래스가 주어집니다. c++는 문자배열을 만들어서 써야 했지만 자바는 String이라는 클래스가 주어지기 때문에 쉽게 문자열을 처리할 수 있는데요. 이 String을 쉽게 가공하고 처리할 수 있는 여러 가지 메소드들이 자바에선 지원이 됩니다. 가장 많이 쓰이는 String 주요 메소드를 정리해보았습니다. import java.util.Scanner; public class StringTest2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);//입력받는 scanner 객체 생성 System.out.print("문자열 입력 : "); S..
이번 시간에는 클래스를 만들고 아주 간단하게 문자열을 출력하는 코드를 적어보겠습니다. Print라는 이름의 클래스를 만들고 메인함수도 포함시켜주세요. 잘 모르시겠으면, 밑에 사진을 보고 똑같이 만들어주시고 Finish를 클릭하시면 됩니다. 대표사진 삭제 사진 설명을 입력하세요. 그리고 이렇게 코드를 적어주시면 되는데요. public class Print { public static void main(String[] args) { System.out.print("Hello! Java");// 있는 그대로 출력 System.out.println("Nice to meet U!"); System.out.printf("5 + 3 = %d", 5 + 3); //출력하고 한줄 자동으로 띄워 쓰기 } } 우리가 만든 ..
이번 시간에는 자바 개발을 하기 위해서 프로젝트를 만들고 클래스를 만들어보겠습니다. 자바는 모든 클래스가 기본입니다. 메인함수도 클래스 안에 들어있고, 모든 것들이 클래스에서 이루어집니다. 그래서 클래스가 중요한 것입니다. 1.이클립스를 실행하고 화면에 이클립스 창에서 빨간색 부분을 클릭해주세요. 대표사진 삭제 사진 설명을 입력하세요. 2.그러면 이런 창이 뜨는데요. Java를 클릭하시고 Open을 클릭합니다. 개발환경을 자바 전용으로 바꿔주는 것입니다. 대표사진 삭제 사진 설명을 입력하세요. 3.그러면 새 프로젝트를 만들 수가 있는데요. 여기서 화면에 보이는 것처럼 Java Project를 클릭해줍니다. 대표사진 삭제 사진 설명을 입력하세요. 4.프로젝트의 이름을 넣어주시고 Finish를 클릭해주세요...
이번 시간에는 함수의 다형성에 대해서 배워보겠습니다. 이 개념은 자바에서도 많이 쓰이는 개념으로 꼭 알고 자바로 넘어가야 합니다. 다형성이란? 다형성이란 이름이 같은 함수가 서로 다른 여러 클래스에서 다양하게 실행되는 것을 말합니다. 이름이 같은 함수이지만 기능을 다르게 하고 싶을 때 많이 쓰입니다. 다형성을 구현할 함수가 포함된 모든 클래스는 같은 부모 클래스를 상속받아야 합니다. 그리고 부모와 자식이 같은 이름의 함수를 가지고 있어야 하는데요. 부모 클래스로부터 상속받은 함수(순수 가상 함수)를 반드시 자식 클래스에서는 재정의(오버라이딩)시켜 사용해야 합니다. 그리고 이렇게 순수가상함수를 포함한 부모 클래스를 추상 클래스라고 하며 이는 자바에서도 많이 쓰이는 개념입니다. 이제 간단한 예제를 통해서 다..
이번 시간에는 코딩 문제에서 많이 쓰이는 기법 중에 하나인 '재귀 함수'에 대해서 익혀보겠습니다. 함수는 함수 안에서 자기 자신을 호출할 수 있습니다. 재귀는 함수가 자기 자신을 호출하여 문제를 해결하는 프로그래밍 기법입니다. 처음에는 좀 이상해 보이지만, 사실 재귀는 정말 효과적이고 흥미로운 프로그래밍 기법입니다. 3가지 예제를 통해서 재귀 함수에 대해서 익혀보도록 하겠습니다. 재귀 함수로 팩토리얼 구하기 팩토리얼의 정의는 n! = n * (n-1)! 입니다. (단, n이 0일땐 n!은 1) 위의 정의에선 n!을 정의하는데 (n-1)! 가 다시 사용된 것을 알 수 있습니다. 이를 코딩을 통해서 함수로 구현해보겠습니다. #include long factorial(int n) { printf("factor..
이번 시간에는 클래스의 객체가 생성될때 생성되는 생성자함수와 소멸될 때 소멸되는 소멸자 함수를 배워보겠습니다. 소멸자 함수는 생성자 함수와 다르게 객체가 소멸될 때 실행되는 함수입니다. 따라서 만약 클래스에서 동적으로 할당된 메모리가 있다면 소멸자 함수에서 메모리 해제를 해줄 수 있습니다. 간단한 예제를 통해서 생성자 함수와 소멸자 함수를 익혀보겠습니다. 생성자 소멸자 함수 예제 #include #include using namespace std; class Member { private ://Member 클래스의 객체들 생성 char *name;//포인터로 생성해서 동적 할당 int age; public : Member(const char *name, int age) { this->name = new ..
이번 시간에는 상속에 대해서 배워보겠습니다. 상속이라는 것은 c++에서 제공하는 클래스와 연관이 깊은 기능입니다. 사실 상속처럼 객체와 연관이 깊은 부분은 자바같은 객체지향 프로그래밍 언어에서 더 많이 쓰이긴 합니다. 하지만 c++에서도 제공하는 기능이랍니다. c++에서 제공하는 클래스와 상속에 대해서 짧게 짚고 넘어가보도록 하겠습니다. 상속이란? 상속이란, 말 그대로 부모의 재산을 자식이 그대로 갖다 쓴다는 것을 말합니다. 부모님이 돌아가시면 자식이 그 재산을 물려받는 것처럼, 부모의 재산(변수, 함수) 등을 자식이 그대로 갖다 쓸 수 있는 것을 말합니다. 그래서 자식 클래스는 부모 클래스의 재산을 그대로 갖다 쓸 수 있습니다. 즉, 상속이란 부모 클래스에서 정의한 모든 멤버 변수와 함수를 자식 클래스..
Static (정적) 멤버 변수란? 이번 시간에는 클래스의 멤버 변수 중에 하나인 static 멤버 변수에 대해서 알아보겠습니다. 클래스 멤버 변수는 크게 정적(static) 멤버 변수와 인스턴스 멤버 변수로 구분할 수 있습니다. static이란 뜻은 '고정된'이란 뜻을 가지고 있습니다. 즉, 한번 선언되면 쭉 그 자리에 박혀있다는 뜻입니다. 정적 멤버 변수는 현재 클래스의 객체가 최초로 생성될 때 딱 1번만 메모리에 생성되고 초기화가 되고 그 자리에 쭉 고정되어 사용되어 집니다. 그래서 같은 클래스로 생성되는 모든 객체가 공유해서 사용할 수 있습니다. static 멤버변수와 다르게 인스턴스 멤버 변수는 현재 클래스로 생성되는 모든 객체에서 각각 독립된 메모리를 가집니다. Static 멤버 변수 쓰는 법..