본문 바로가기

분류 전체보기

(454)
패키지 패키지(package) 패키지란 서로 관련이 있는 클래스 또는 인터페이스들을 묶어 놓은 묶음이다. 패키지를 사용함으로써 클래스들이 필요할 때만 사용될 수 있도록 하고, 클래스를 패키지 이름과 함께 계층적인 형태로 사용함으로써 다른 그룹에 속한 클래스와 발생할 수 있는 클래스 이름간의 충돌을 막아줌으로 클래스의 관리를 편하게 해준다. 패키지 정의방법 - package이름은 보통 도메인 이름을 거꾸로 적은 후, 그 뒤에 프로젝트 이름을 붙여서 만든다. 물론, 프로젝트 이름 뒤에 또 다른 이름이 나올 수도 있다. - package이름은 폴더명.폴더명.폴더명과 같은 형식으로 만들어진다. 각각의 폴더명은 숫자로 시작할 수 없다. 예시 ) 도메인 이름이 8cruz.com 이고 프로젝트 이름이 javastudy 라면..
[프로그래머스] 생성자 오버로딩 실습 (복습필요) 문제 -- 정답 코드(작성) public class Car{ String name; int number; public Car(){ this("이름없음", 0); } public Car(String name){ this(name, 0); } public Car(String name, int number){ this.name = name; this.number = number; } } -- 실행코드 // 실행을 위한 코드입니다. public class CarExam { public static void main(String[] args) { Car car1 = new Car(); Car car2 = new Car("자동차"); Car car3 = new Car("자동차", 1234); } }
메소드 오버로딩 매개변수의 개수나 타입이 조금씩 다르지만, 비슷한 기능을 하는 메소드가 여러 개 있을 수 있다. 이런 메소드가 각각 다른 이름으로 정의되어 있다면, 어떨 때 어떤 메소드를 사용해야 할지 구분하기 어려울 수 있다. 이러한 경우를 위해서 " 매개변수의 수가 다르거나, 매개변수의 타입이 다르다면" 동일한 이름으로 메서드를 여러 개 정의할 수 있다. 이를 메소드 오버로딩이라 한다. 메소드 오버로딩 매개변수의 유형과 개수가 다르게 하여 같은 이름의 메서드를 여러 개 가질 수 있다. 여기서 중요한 것은 타입과 매개변수의 수가 중요하다. 타입은 같았지만 매개변수가 달라졌기 때문에 가능했다. 매개변수의 수는 같지만 타입이 다르기 때문에 가능하다. MyClass2.java 1. 정수를 2개를 받아들여서 그 정수값을 더해..
생성자 (Constructor) 생성자 모든 클래스는 인스턴스화 될때 생성자를 사용한다. 생성자의 특징 생성자는 리턴타입이 없다. 생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다. 매개변수가 없는 생성자를 기본생성자라고 한다. 생성자를 하나라도 프로그래머가 만들었다면 기본생성자는 자동으로 만들어지지 않는다. public class 클래스명{ 타입 필드명; public 클래스명(매개변수목록){ // method와 다르게 리턴타입을 갖고 있지 않다. ... //생성자 블록 - } public 리턴타입 메소드명(매개변수목록){...} 생성자의 역할 생성자가 하는 일은 객체가 될 때 필드를 초기화 하는 역할을 수행한다. 자동차가 객체가 될때 반드시 이름을 가지도록 하려면, Car클래스를 다음과 같이..
[프로그래머스] while문 - 실습(2) public class WhileExam{ public static void main(String[] args){ int i = 1; while(i < 11){ // if 문을 추가해, i가 짝수일때만 i를 출력하는 코드를 짜보세요. if(i % 2 == 0) System.out.println(i); i++; } } }
[프로그래머스]switch문 - 실습(1) import java.util.Calendar; public class SwitchExam { public static void main(String[] args) { // month에는 오늘이 몇 월인지 들어 있습니다. int month = Calendar.getInstance().get(Calendar.MONTH) + 1; String season = ""; // switch문을 이용해서 season이 오늘은 어떤 계절인지 나타내게 만들어보세요. switch (month){ case 12: case 1: case 2: season = "겨울"; break; case 3: case 4: case 5: season = "봄"; break; case 6: case 7: case 8: season = "여름..
2차원 배열(2 Dimensional Array) 2차원 배열 - 배열의 배열 1. 2차원 배열 선언 방법 arr - 2차원 배열을 가리킬 수 있는 변수 [3] - 1차원 배열을 가르킬 수 있는 참조 변수가 3개 생긴 것 [4] - 실제 정수 값을 담을 수 있는 그릇들 => 정수를 4개씩 담을 수 있는 배열이 3개가 생성된다. int[][] arr = new int[3][4]; 배열에 값을 담을 때 arr[0] = 10; 결과 : 에러 발생 배열 0번째 인덱스, 이 부분을 의미하는데, 실제 int값을 담을 수 있는 부분이 아니라 int형 배열을 가리킬 수 있는 참조 변수이기 때문에 정수 값을 담을 수가 없다. 즉. arr[0]은 또 다른 1차원 배열을 가리킬 수 있는 참조형 변수이기 때문에 값을 담을 수 가 없다. ** 실제로 값을 담을 때에는 다음 인..
inteliJ 주석 에러 인텔리제이를 사용하다 주석처리가 안되고 선택한 라인 주석 처리 시 "/"(슬래시) 만 찍힘 선택한 영역만큼 주석 처리 시 "¿"(역물움표) 찍히는 에러가 발생한다. - 해결 방법 - 1. "한/영" 키를 누른다. 영어가 아니고 한글일 때 일어난다. 한/ 영 키를 누르고 영어로 바꾸어주면 해결된다.