PL(ProgrammingLanguage) (155) 썸네일형 리스트형 접근제한자 클래스는 필드와 메소드를 가진다. 필드와 메소드를 가진다해서 아무것이나 가지고 있으면 안된다. 수학과 관련된 클래스라면 그와 관련된 것을 가지고 있어야할 것이고, 날짜와 관련된 클래스라면 날짜와 관련된 속성이나 메서드를 가지고 있어야할 것이다. 이런 특징을 캡슐화라한다. 캡슐화: 관련된 것을 잘 모아서 가지고 있는 것을 의미한다. 접근제한자 접근 제한자란 클래스 내에서 멤버의 접근을 제한하는 역할 접근제한자의 종류 public : 어떤 클래스든 접근할 수 있다는 것을 의미 protected : 자기 자신, 같은 패키지, 서로 다른 패키지다 하더라도 상속받은 자식 클래스에서는 접근할수 있다는 것을 의미 private : 자기 자신만 접근할 수 있다는 것을 의미 접근제한자를 적지 않으면 default접근 지.. 패키지 패키지(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클래스를 다음과 같이.. [프로그래머스]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차원 배열을 가리킬 수 있는 참조형 변수이기 때문에 값을 담을 수 가 없다. ** 실제로 값을 담을 때에는 다음 인.. 변수의 scope와 static 변수의 스코프 프로그램상에서 사용되는 변수들은 사용 가능한 범위를 가진다. 그 범위를 변수의 스코프라 한다. 변수가 선언된 블럭이 그 변수의 사용범위이다. public class ValableScopeExam{ int globalScope = 10; // 인스턴스 변수 public void scopeTest(int value){ int localScope = 10; System.out.println(globalScope); System.out.println(localScpe); System.out.println(value); } } 클래스의 속성으로 선언된 변수 globalScope 의 사용 범위는 클래스 전체 이다. 매개변수로 선언된 int value 는 블럭 바깥에 존재하기는 하지만, 메서드 선언부에.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 20 다음