본문 바로가기

Programming Language

(45)
클래스 변수와 인스턴스 변수 클래스 변수와 인스턴스 변수 Class Card { // 값이 다를 수 있는 속성 String kind;// 무늬 ( 카드 class의 개별 속성 - 인스턴스 변수) String number;// 숫자 ( 카드 class의 개별 속성 - 인스턴스 변수) // 공통적인 속성 static int width = 100;// 폭 ( 카드 class의 공통 속성 - 클래스 변수) static int height = 250;// 높이 ( 카드 class의 공통 속성 - 클래스 변수) } // 사용하기 Card c = new Card();// 객체 생성 // 객체 사용 c.kind = "HEART";// 인스턴스 변수 c.number = 5;// 인스턴스 변수 c.width = 200;// 클래스 변수 c.heigh..
선언 위치에 따른 변수의 종류 선언 위치에 따른 변수의 종류 class Variables { // 클래스 영역 ( 선언문만 가능하다. ex - 변수, 메서드 ) // 순서는 크게 상관 없지만 보통 변수를 위쪽에 쓴다. // y = x + 3; or Systme.out.println(); 과 같은 일반 문장들은 사용 불가! int iv;// 인스턴스 변수 (instance variable) static int cv;// 클래스 변수(static변수, 공유변수) // 메서드 영역 void method() { int lv = 0;// 지역변수(local variable) - 메서드 종료시 자동으로 제거 } 변수의 종류 선언위치 생성시기 클래스 변수 (class variable) 클래스 영역 클래스가 메모리에 올라갈 때 (객체가 생성되지 않..
클래스 정의 클래스의 정의 (1) 클래스는 설계도 , 데이터 + 함수 , 사용자 정의 타입 등으로 정의할 수 있다. * 앞의 포스팅에서 설계도에 대한 개념은 설명해놓았다. https://glory-archive.tistory.com/108 클래스와 객체 클래스 클래스의 정의 - 클래스란 객체를 정의해 놓은 것 클래스의 용도 - 클래스는 객체를 생성하는데 사용 객체 객체의 정의 - 실제로 존재하는 것, 사물 또는 개념 객체의 용도 - 객체가 가지 glory-archive.tistory.com 1) 데이터 + 함수 1. 변수 : 하나의 데이터를 저장할 수 있는 공간 2. 배열 : 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간 3. 구조체 : 서로 관련된 여러 데이터(종류와 관계 없이)를 하나로 저장할 수 있는 ..
객체 배열 객체 배열 객체 배열 == 참조변수 배열 Tv tv1, tv2, tv3; // 배열 변경 ↓ Tv[] tvArr = new Tv[3];// 길이가 3인 Tv타입의 참조변수 배열 // 객체를 생성해서 배열의 각 요소에 저장 tvArr[0] = new Tv();// 0x100 주소 안에 새로운 0x200 주소 tvArr[1] = new Tv();// 0x100 주소 안에 새로운 0x300 주소 tvArr[2] = new Tv();// 0x100 주소 안에 새로운 0x400 주소 // 객체 배열은 간단히 표현 Tv[] tvArr = { new Tv(), new Tv(), new Tv() }; * 객체 배열 사용 시 주의 사항 Tv[ ] tvArr = new Tv[3]; 와 같이 객체 배열만 생성하고 안의 객체..
객체의 생성과 사용 객체 생성 클래스명 변수명;// 클래스의 객체를 참조하기 위한 참조변수를 선언 변수명 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장 Tv t;// Tv클래스 타입의 참조변수 t를 선언 t = new Tv(); // Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장 객체 사용하기 t.channel = 7;// Tv인스턴스의 멤버변수 channel의 값을 7로 한다. t.channelDown();// Tv인스턴스의 메서드 channelDown()을 호출한다. System.out.println("현재 채널은 " + t.channel + " 입니다."); class Tv { String color;// 색깔 boolean power;// 전원 상태 int..
한 파일에 여러 클래스 작성하기 하나의 소스 파일에 여러 클래스 작성 올바른 작성 예시 설명 Hello2.java (소스 파일 이름) public class Hello2 {} class Hello3 {} public class가 있는 경우, 소스 파일의 이름은 반드시 public class의 이름과 일치해야한다. Hello2.java (소스 파일 이름) class Hello2 {} class Hello3 {} public class가 하나도 없는 경우, 소스 파일의 이름은 ' Hello2.java ' , ' Hello3.java ' 둘 다 가능하다. 잘못된 작성 예 설명 Hello2.java (소스 파일 이름) public class Hello2 {} public class Hello3 {} 하나의 소스파일에 둘 이상의 public c..
클래스와 객체 클래스 클래스의 정의 - 클래스란 객체를 정의해 놓은 것 클래스의 용도 - 클래스는 객체를 생성하는데 사용 객체 객체의 정의 - 실제로 존재하는 것, 사물 또는 개념 객체의 용도 - 객체가 가지고 있는 기능과 속성에 따라 다르다. 클래스 객체 제품 설계도 제품 TV 설계도 TV 붕어빵 기계 붕어빵 객체의 구성 요소 - 속성과 기능 세상에 존재하는 HARD WARE (ex TV..) 적인 요소를 어떻게 SOFT WARE (=code) 로 표현 하면 좋을지 고민했고 그 결과로 객체라는 것을 속성(변수) 과 기능(메서드)로 나눴다. ex) TV 속성 크기, 길이, 높이, 색상, 볼륨, 채녈 기능 켜기, 끄기, 볼륨 높이기, 볼륨 낮추기, 채널 변경하기 등등 ex) Class class Tv { // 속성 St..
객체지향 언어 객체지향 언어 코드의 재사용성이 높고 유지 보수가 용이, 중복 코드 제거 객체지향 언어 = 프로그래밍 언어 + 객체지향 개념(규칙) OOP (Object - Oriented Programming) 의 4가지 핵심 개념 1. 캡슐화 2. 상속화 3. 추상화 4. 다형성 객체지향 개념 공부 방법 객체지향 개념(규칙) 외워라! 객체지향 개념(규칙)을 외워라? 무책임하게 들릴지 모르지만, 객체지향 규칙 자체를 모르면 에러가 왜 발생했는지, 에러 메시지를 봐도 무슨 얘기를 하는지 알 수 없다. 즉, 게임을 즐기기 위해서 규칙을 알아야 하듯이 객체지향 언어를 다루려면 규칙을 알아야한다. 규칙을 외우고 실습을 통해 체득하는 것이 실용적인 객체지향 개념을 공부하는 방법이 될 것이다. 예를 들어 객체지향 개념 규칙을 A..