728x90 반응형 back-end/JAVA43 7)객체지향-선언 위치에 따른 변수의 종류 7) 객체지향-선언 위치에 따른 변수의 종류 선언 위치에 따라 변수는 3가지로 나눠집니다. 어느 변수를 먼저 쓰든 순서는 상관없습니다. 영역 변수 종류 생성시기 클래스영역(클래스 시작부터 끝까지: 선언문만 가능 인스턴스변수 (instance valiable: iv) 인스턴스가 생성되었을 때 클래스변수 (class valiable: cv: 인스턴스변수 앞에 static붙인것) 클래스가 메모리에 올라갈 때 클래스영역 이외의 영역(메서드, 생성자, 초고화블럭 내부) 지역변수 (local valiable: lv) 변수 선언문이 수행되었을 때 -lv는 메서드 영역 내에서만 써야 합니다. iv와 변수 이름이 같다 해도 서로 다른 변수라는 걸 잊지 마세요. -iv의 생성시기는 인스턴스가 생성되었을 때인데, 즉 객체가.. 2021. 5. 11. 6)객체지향-클래스의 정의 6) 객체지향-클래스의 정의 클래스는 크게 세 가지로 정의할 수 있습니다. 첫 번째는 계속 써왔던 '설계도'로 정의할 수 있고요. 두 번째는 '데이터+함수'로 정의할 수 있습니다. 세 번재는 '사용자 정의 타입'으로 정의합니다. 오늘은 두 번째, 세 번째 정의를 배워보도록 하겠습니다. 어려울 것 없고요. 클래스는 당연히 데이터(변수)+와 함수(메서드)로 이루어지잖아요? 그게 다 입니다. 6-1) 클래스 == 데이터 + 함수 -변수: 하나의 데이터를 저장할 수 있는 공간 -배열: 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간 -구조체: 다른 종류의 여러 데이터(종류 관계 x)를 하나로 저장할 수 있는 공간 -클래스: 데이터와 함수의 결합(구조체+함수) 근데 클래스에선 왜 구조체와 함수를 같이 묶었.. 2021. 5. 11. 5)객체지향-객체배열 5) 객체지향-객체 배열 객체를 여러 개 만들고 싶은데, 그 많은 객체를 일일이 만들다 보면 시간이 많이 걸립니다. 그래서 '배열'을 만들죠. 중복을 피하고 코드를 간결하게 하기 위함이죠. 객체지향에서도 객체를 만들 때 배열을 쓰기도 합니다. 대신, 객체를 배열하기 전에 참조 변수를 먼저 배열해야 합니다. 티브이가 3개 있는 객체를 배열로 만들기 Tv tv1, tv2, tv3; ----------------> Tv[] tvArr = new Tv[3]; 위 그림은 3개의 티브이를 배열로 만든 것입니다. 객체를 만들기 위해서는 먼저 참조 변수가 선언되어야 한다고 했죠.(티브이에 접근하기 위해서는 리모컨이 필요하니까요) 그럼 참조 변수의 배열을 먼저 만듭니다. 참조변수의 배열의 이름은 tvArr이라고 쓰고 주.. 2021. 5. 11. 4)객체지향-객체의 생성과 사용 4)객체지향-객체의 생성과 사용 4-1) 객체의 생성 클래스명 참조변수명; // 클래스의 객체를 참조하기 위한 참조 변수를 선언 참조 변수명 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조 변수에 저장 여기서 참조변수는 리모컨 Tv를 다루기 위해서 꼭 리모컨이 필요하듯이, 자바에서도 객체를 다루기 위해서 꼭! 리모컨이 필요하다. 그게 참조변수. ①Tv t; // Tv클래스 타입의 ①참조 변수 t를 선언 ③t = ②new Tv(); //② Tv인스턴스를 생성한 후, 생성된 ③Tv인스턴스의 주소를 t에 저장 =이 두줄을 한 문장으로 연결하면 Tv t = new Tv(); 이다. 4-2) 객체의 사용(=변수와 메서드 사용) t.channel = 7; // (변수사용) Tv인스턴스의.. 2021. 5. 11. 3)객체지향-한 파일에 여러 클래스 작성하기 3)객체지향-한 파일에 여러 클래스 작성하기 3-1) 하나의 소스파일에 여러 클래스 작성 원래는 소스파일:클래스=1:1로 들어가는 것이 보통이나, 그렇지 않은 경우도 있습니다. *유튜브 남궁성 선생님의 `자바의 정석`을 참고하여 만들었습니다* *자세히 보고 싶은 분들은 유튜브 가서 보시면 되구요! 저는 개인적으로 공부하는 게 목적입니다* 2021. 5. 7. 2)객체지향-클래스와 객체,변수(속성),메서드(기능),인스턴스 2)객체지향-클래스와 객체,변수(속성),메서드(기능),인스턴스 2-1)클래스와 객체 클래스의 정의: 객체를 정의해 놓은 것 클래스의 용도: 객체를 생성하는 데 사용 객체의 정의: 실제로 존재하는 것, 사물 or 개념 객체의 용도: 객체가 가지고 있는 기능과 속성에 따라 다름 굉장히 교과서적인 표현이죠?ㅋㅋㅋ저는 개념 자체를 어렵게 생각하는 경향이 있어 받아들이는데 오래 걸렸습니다.. 하지만 딱 이것만 외워두세요. 클래스=설계도 객체=제품 클래스=설계도 예를 들어, 커피머신 설계도는 커피머신을 만들기 위해 필요합니다. 이 설계도만 가지고 있다면 같은 커피머신을 여러 개 만들 수 있죠. 객체=제품 객체는 말 그대로 커피머신 자체 제품입니다. 설계도를 참고하여 만든 사물인 것이죠. 다른 것으로 예를 들어볼까요.. 2021. 4. 9. 1)객체지향-객체지향 언어 1)객체지향-객체지향 언어 현재 객체지향을 사용하고 있는 언어는 C++>JAVA>Python입니다. 뭐든 가운데 끼어있는 것을 배우는 게 제일 좋습니다. "뭐 먹을래?" 할 때 "난 아무거나"와 같은 맥락입니다. 그래서 자바를 배워보자구요. 80년대 초에 소프트웨어의 위기가 찾아옵니다. 빠르게 변화하는 시스템에서 소프트웨어가 못 쫓아가는 상황이 발생하는 겁니다. 변화하는 과정마다 소프트웨어를 바꿔주다 보니 비용, 시간이 많이 드는 겁니다. 80년대 초만 해도 c언어, 포트란(Fortran), 코볼(COBOL)과 같은 언어가 쓰였습니다. 도저히 안 되겠다 싶어 해결책으로 객체지향 언어를 도입합니다. (하지만 1960년에 최초의 객체지향 언어 Simula가 있긴 있었습니다. 이후 Smalltalk도 있었구요.. 2021. 4. 6. 이전 1 2 3 4 5 다음 728x90 반응형