본문 바로가기

Language/Java

Chap07_03 Class Variable(클래스 변수) 1.정의 클래스 내에 기재되어 모든 객체에 똑같이 적용되는 변수 객체에서 임의로 변경 불가능 public class BlackBox { // 인스턴스 변수 -> 각 객체마다 다르게 적용 String modelName; // 모델명 String resolution; // 해상도 int price; // 가격 String color; // 색상 int serialNumber; // 시리얼 번호 //클래스 변수 -> 모든 객체에 똑같이 적용 //자동 신고 기능 static boolean canAutoReport = false; } 2.초기화 클래스 내에서 선언과 동시에 초기화. (객체에서 바꾸려 하면 에러) 3. 접근 클래스에서 바로 접근 가능. (클래스이름.클래스 변수) 객체마다 임의로 값을 변경하는 것은 .. 더보기
Chap07_02 Instance Variable(인스턴스 변수) 1. 인스턴스 변수란? 인스턴스 변수란 클래스에 포함되어 있는 변수로서 해당 클래스의 특성을 표현한다. 인스턴스 변수는 해당 클래스를 사용하는 객체마다 값을 다르게 조정할 수 있다. 2. 인스턴스 변수 선언 및 초기화 하는 법 (1) 선언 클래스 내에 선언 public class BlackBox { // 인스턴스 변수 -> 각 객체마다 다르게 적용 String modelName; // 모델명 String resolution; // 해상도 int price; // 가격 String color; // 색상 int serialNumber; // 시리얼 번호 } (2) 초기화 객체이름.초기화할 인스턴스 변수 = 초기화할 값; //객체 선언 BlackBox b1 = new BlackBox(); //인스턴스 변수 .. 더보기
Chap07_01 Class 1. 클래스를 쓰는 이유 하나의 사물에 대한 특징들을 한데 모으지 않고 중구난방 설명한다면, 장님에게 코끼리를 설명하는 것과 같다. 펄렁이는 귀, 긴 코 , 돋아난 상아 등 대표적인 특징을 말하더라도 장님은 전체적인 그림을 그리지 못 할 것이다. 클래스는 하나의 사물에 대한 특징을 한데 모으는 작업이다. 우리는 코끼리에 대해 설명할 때 코끼리 설명에 대한 클래스를 꺼내 쓰기만 하면 된다. public class elephant { String elephantName; String nose; String ivory; //... } //클래스 생성 elephant doto = new elephant(); elephant jambo = new elephant(); 해당 elephant란 클래스를 사용해 도토나.. 더보기
Chap07_00 객체와 Class에 관하여 (관련 개념들 여기 계속 추가) 1.Class (1) 정의 자동차 공장을 예시로 들면, Class는 하나의 자동차 설계도 이다. 우리는 설계도를 통해 진짜 자동차를 만든다. 차 설계도에는 필요한 부품과 이 차의 작동원리들이 적혀있다. 여기서 차 설계에 필요한 부품들을 Class 내의 변수, 차의 작동 원리를 Class 내의 Method라고 한다. public class vehicle_Blueprint { //인스턴스 변수 int 볼트의_수; int 너트의_수; String 배기통; string 차체; String 차색깔; String 앞범퍼의_크기; String 차 시리얼 넘버; //클래스 변수 Static String 차체의_수입원 = "국산"; //인스턴스 매소드 void Black_Box_alert (int speed, int 주.. 더보기
Java에서 switch- case문 쓰는 법 switch (매개변수) { case A: A일때 실행할 명령 break; // 해당 명령 실행 후 swtich문 탈출. (break 안 적을 시 이 밑에 case문 전부 실행됨.) case B: B일때 실행할 명령 break; default: 모든 조건에 해당 사항 없을 때 실행하는 명령 } * Case A에서 break문이 없다면, A의 문장 실행 후 B일 때의 명령도 실행한다. 왜냐하면, A란 조건을 만족했기에 break를 만나기 전까지 모든 문장을 실행할 수 있는 허락을 득했기 때문이다. 더보기
02 Method - (7) Main Method *main method에 인수 전달하는 법 (1)current file > edit configuration (2)옆에 + 키 클릭 > Application 클릭 > 이름 test로 짓고 Main Class라 적혀 있는 곳에서 지금 내가 인수 넣으려는 java class file을 찾는다. (3) program arguments에 원하는 값 집어넣기 > 끝 (공백 단위로 끊어서 배열에 저장된다.) ** 예제 코드 > arguments에 1~3 값을 집어넣었을때, args 배열의 0번째 원소로 들어간다. 이를 이용해 도서 조회하는 프로그램이다. //main 매소드 == String 배열 args를 파라미터로 갖는 매소드 public static void main(String[] args ) { for (S.. 더보기
02 Method -(6) 변수의 범위 변수의 범위는 항상 그것이 선언된 중괄호{} 내 이다! 범위 벗어나면 사용 불가! // 지역변수 == 변수가 선언된 중괄호(영역)안에서만 쓸 수 있음. // 지역변수를 다른 매소드에서 쓰려면, 해당 매소드를 호출하여 그 매소드의 파라미터에 지역변수를 인수로 넣어서 써야함. // 범위 밖이라 출력 안되는 것들 다 주석 처리 public static void methodA() { //System.out.println(number); //System.out.println(result); } public static void mehthodB() { int result = 1; } public static void main(String[] args) { int number = 3; //System.out.prin.. 더보기
02 Method - (5) Overrloading (매소드 재정의) 1. 오버로딩 (재정의)이란? 같은 이름의 매소드를 여러 번 선언하는 것을 말한다. 오버로딩이 가능한 조건은 같은 이름의 매소드가 전달 받는 인수의 자료형이 다르거나(1), 전달 받는 인수의 갯수가 다를 때(2) 이다. *반환 자료형이 다르다고 해서 오버로딩을 사용할 수 없다! (> 반환 자료형이 다른 같은 이름의 매소드를 재정의 시에는 중복으로 오류! ) 2. 오버로딩은 어떤 때 유용한가? 오버로딩이 없는 경우, 같은 기능을 하는 매소드라도, 인수의 개수의 차이, 인수 자료형의 차이에 따라 모두 다른 이름으로 정의 해야한다. 이 경우 현재의 상황과 적합한 매소드를 호출하는데 혼란이 생길 가능성이 크다. 따라서 이 같은 경우 오버로딩을 통해 같은 기능의 매소드들을 하나의 이름으로 통일하는 것이 유용하다... 더보기