IT/JAVA18 자바 - 배열(Array) 배열의 필요성? 변수는 한 개의 데이터만 저장할 수 있다. 따라서 저장해야 할 데이터의 수가 많아지면 그만큼 많은 변수가 필요하다. 같은 타입의 많은 양의 데이터를 다루는 프로그램에서 좀 더 효율적인 방법이 필요한데 이것이 배열이다. 배열이란? 배열은 같은 타입의 데이터를 연속된 공간에 나열시키고, 각 데이터에 인덱스를 부여해 놓은 자료구조이다. 배열 선언(형광펜으로 칠한 것을 권장한다.) int[] Array; int intArray[]; double[] doubleArray; double doubleArray[]; String[] strArray String strArray[]; 배열 변수 참조변수에 속한다. 배열도 객체이므로 힙영역에 생성되고 배열 변수는 힙 영역에 배열 객체를 참조하게 된다. 참조.. IT/JAVA 2020. 11. 14. 자바 - static 정적 변수, 싱글톤 정적멤버와 static 정적(staitc) : '고정된', 정적 멤버는 클래스에 고정된 멤버로 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다. 정적 멤버는 객체(인스턴스)에 소속된 멤버가 아니라 클래스에 소속된 멤버이기 때문에 클래스멤버라고 한다. 1.정적 멤버선언 public class 클래스{ //정적필드 static 타입 필드 [=초기값]; //정적 메소드 static 리턴 타입 메소드( 매개변수선언 , ...... ) { ... } } 필드를 선언할 때 인스턴스 필드 / 정적 필드 선언 판단기준 객체마다 가지고 있어야 할 데이터 : 인스턴스 필드로 선언 (ex. 객체별로 색깔이 다르다면 색깔은 인스턴스 필드로 선언) 객체마다 가지고 있을 필요성이 없는 공용적인 데이터 : 정적필드로 .. IT/JAVA 2020. 11. 11. 자바 Date, Calendar 클래스 자바는 시스템의 날짜 및 시각을 읽을 수 있도록 Date와 Calendar 클래스를 제공하고 있다. 이 두 클래스는 모두 java.util 패키지에 포함되어있다. Date 클래스? Date클래스는 객체 간에 날짜 정보를 주고받을 때 주로 사용된다. 여러 개의 생성자가 선언되어 있지만 현재는 Date() 생성자만 주로 사용한다. Date() 생성자는 컴퓨터의 현재 날짜를 읽어 Date객체로 만든다. Date now = new Date(); Calendar 클래스? Calendar클래스는 달력을 표현한 클래스이다. Calendar 클래스는 추상 클래스라서 new 연산자를 이용해서 객체를 생성할 수 없다. getInstance() 메서드를 사용해서 운영체제에 설정된 현재 날짜를 기준으로 한 Calendar 하.. IT/JAVA 2020. 11. 6. 객체지향 - 자바 this, this()의 역할 this의 역할 1.객체 자신 참조 this라는 참조 변수로 필드를 사용하는 것과 동일하다. this.필드 2.자신의 메모리를 가리킴 'personLee'랑 'p' 같은 메모리 주소를 출력하는 것을 볼 수 있다 3. this() 생성자에서 다른 생성자를 호출함 8번째 줄 Person생성자에서 12번째 생성자를 호출함. ※주의 생성자 내에서 다른 생성자를 호출할 때는 클래스 이름인 'Person' 대신 'this' 사용할 것. 생성자 호출은 첫 번째 줄에서만 가능 더보기 생성자 내에서 초기화 작업 도중에 다른 생성자를 호출하게 되면, 호출된 멤버 변수들의 값을 초기화를 할 것이므로 다른 생성자를 호출하게 되면, 호출된 다른 생성자 내에서도 멤버변수들의 값을 초기화할 것이므로 다른 생성자를 호출하기 이전의 .. IT/JAVA 2020. 11. 3. 객체지향 - 정보은닉(getter/setter) 자바의 접근 제한자 private : 같은 클래스 내에서만 접근 가능 default : 같은 패키지 내에서만 접근 가능 protected : 같은 패키지 내 또는 자손 클래스일 경우 접근 가능 public : 제한 없음 외부 클래스 하위 클래스 동일 패키지 내부 클래스 public 0 0 0 0 protected X 0 0 0 선언되지 않음 (default) X X 0 0 private X X X 0 getter/setter ? 객체지향 프로그래밍의 특성 중 정보 은닉(Hiding information)을 가장 잘 보여주는 방식입니다. 데이터를 외부에서 접근하지 않도록 막고, 메서드를 통해서 데이터에 접근하도록 한다. 클래스의 멤버 변수를 private로 접근 제한자를 설정한 후 getter/setter.. IT/JAVA 2020. 11. 3. 객체지향 - (클래스, 객체, 인스턴스, 생성자, 오버로딩 ) 클래스란? '객체를 정의해 놓은 것' 또는 객체의 설계도 또는 틀 클래스의 용도는 클래스는 객체를 생성하는 데 사용된다. 연관되어 있는 변수와 메서드의 집합 객체란? '실제로 존재하는 것' 우리가 주변에서 볼 수 있는 책상, 의자, 자동차와 같은 사물 또는 수학공식, 프로그램 에러와 같은 논리나 개념이 곧 객체다. 소프트웨어 세계에 구현할 대상 클래스의 인스턴스라고도 부른다. 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다. 프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다. 간단하게 예를들면 클래스 객체 제품설계도( TV설계도 ) 제품( TV ) 붕어빵 기계 붕어빵 프로그래밍에서는 먼저 클래스를 작성한 다음, 클래스로부터 객체를 생성하여 사용한다. 인스턴스란? 클래스로.. IT/JAVA 2020. 11. 2. 이전 1 2 다음