목록분류 전체보기 (718)
쌓고 쌓다
함수(메소드) 오버 로딩 한 클래스 내에서 이름이 같은 함수를 여러 개 만들 수 있다. 조건이 아래와 같다. 1. 매개변수의 개수나 타입이 달라야 한다. 2. 이름이 같아야 한다. 함수의 이름이 같고 매개변수의 개수가 다른 경우 package com.company; class Test { public int Sum(int a, int b) { return a+b; } public int Sum(int a,int b,int c) { return a + b + c; } } public class Main{ public static void main(String[] args) { Test test = new Test(); System.out.println(test.Sum(5,6)); System.out.pri..
https://www.acmicpc.net/problem/12852 12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net #include #include using namespace std; int N; int dp[1000001]; int before[1000001]; int main(void) { cin >> N; dp[1] = 0; //1을 만들기위해선 아무 연산을 안해도 됨. before[1] = 0; for ( int i = 2; i dp[i/3]+1) { dp[i] = dp[i / 3] + 1; before[i] = i / 3; } if (i % 2 == 0 && dp[i] > dp[i / 2] + 1) { d..
static void plusOne(int a) { a+=1; } public static void main(String[] args) { int num = 10; plusOne(num); System.out.print(num); } plusOne함수는 매개변수를 1을 더해주는 함수이다. 여기다 int num = 10; 으로 선언된 num 함수의 인자로 전달해준다면 아래와 같은 출력을 보인다. num에 1을 plusOne함수를 통해 1을 더헀지만 그대로 num은 10을 가지고 있다. 이는 아래의 경우라서 값의 증가는 이루어 지지 않았다. 매개변수로 기본 타입의 인자가 전달 되는 경우 매개변수로 기본 타입 ( byte, char, short, int, long, float, double, boolean )..
일단 먼저 아래의 코드를 한번 쭉 보자. class Person { public String name; public int age; public Person(String name, int age) { this.name = name; this.age = age; } public void ShowInformation() { System.out.println(name + "," + age); } } public class Main { public static void main(String[] args) { Person []person; person = new Person[5]; for(int i=0;i
https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net #include #include #include using namespace std; queue q; int N, M; int arr[500][500]; bool visit[500][500]; int side[4][2] = { {-1,0},{1,0},{0,-1},{0,1} }; int cnt = 0, area = 0; void solve() { for(int i=0;i= 0 && ny >= 0 && n..
this의 필요성 class Person { public String name; public int age; public Person(String name, int age) { name = name; // name = name ? age = age; // age = age ? } public void ShowInformation() { System.out.println(name + "," + age); } } public class Main { public static void main(String[] args) { Person Aperson = new Person("이름",1); Aperson.ShowInformation(); } } 실행 결과 위와 같이 Person의 생성자에 매개변수로 name과 a..
생성자 객체의 생성과 동시에 초기화를 위해 실행되는 메소드이다. 생성자 선언 방법 class Person { public String name; public int age; public Person() { } } 위와 같이 class 안에 클래스의 이름과 동일하고, 반환값,매개변수가 없는 메소드를 만들면 된다. 반환값이 있을경우 컴파일 에러를 일으킨다. 굳이 생성자를 작성하지 않아도 위와 같은 기본 생성자(디폴트 생성자)는 컴파일러가 알아서 작성해주고 우리눈에는 보이지 않게 해준다. public void Person() // 컴파일 에러 { //코드 } 예시 class Person { public String name; public int age; public Person() { name = "기본 이름..
클래스 클래스는 객체를 만들어 내기 위한 설계도, 틀이다. 객체 객체는 클래스를 이용해 생성된 것인데, 클래스가 붕어빵 틀이라면 객체는 틀을 이용해 만든 붕어빵이라고 할 수 있다. 객체를 클래스의 인스턴스(instance)라고 부른다. 사람이 클래스라면 옆집 이웃, 형, 부모님, 친구 등은 객체로 보며 각 객체마다 모두 동일하게 공유하는 속성이 있지만 각자 구분되는 나이, 이름 등 다른 값을 가지기도 한다. 클래스의 선언 public class Person { public String name; public int age; } 객체의 생성 Person person = new Person(); Person이라는 클래스를 이용해 person이라는 객체를 생성을 할 때 new연산자를 이용한다. C++과 달리 ..