본문 바로가기

전체보기

(91)
6. Java 자바 - 인스턴스 멤버와 this 인스턴스 (instance) 멤버 객체(인스턴스) 를 생성한 후 사용할 수 있는 필드와 메소드를 의미한다. (인스턴스 필드, 인스턴스 메소드라고 불린다.) 이전에 작성한 모든 필드와 메소드는 인스턴스 멤버이다. 인스턴스 필드와 메소드는 객체에 소속된 멤버이기 때문에 객체 없이는 사용할 수 없다. ex) Car 클래스에 gas 필드와 setSpeed( ) 메소드가 아래와 같이 선언 public class Car { //필드 int gas; //메소드 void setSpeed(int speed) { . . . } } gas 필드와 setSpeed( ) 메소드는 인스턴스 맴버이기 때문에 외부 클래스에서 사용하기 위해서는 먼저 Car 객체(인스턴스)를 생성하고 참조 변수 myCar, yourCar 로 접근해야 ..
5. Java 자바 - 클래스의 구성 멤버 [ 메소드 ] 메소드 객체의 동작에 해당하는 중괄호 { } 블록을 말한다. 메소드를 호출하게 되면 중괄호 블록에 있는 코드들이 일괄적으로 수행된다. 메소드는 필드를 읽고 수행하는 역할도 하지만, 다른 객체를 생성해서 다양한 기능을 수행하기도 한다. 메소드는 객체 간의 데이터 전달 수단으로 사용된다. 외부로부터 매개값을 받을 수 있고, 실행 후 어떤 값을 반환할 수도 있다. 메소드 선언 선언부(반환타입, 메소드 이름, 매개 변수 선언) 와 실행 블록으로 구성된다. 메소드 선언부를 "메소드 시그니처"라고도 한다. 메소드 선언 형태 - 반환 타입 (return) 메소드가 실행 후 반환하는 값의 타입을 의미한다. (반환값이 있을 수도, 없을 수도 있다.) 메소드가 실행 후 결과를 호출한 곳에 넘겨줄 경우, 반환값이 있어야한다..
4. Java 자바 - 클래스의 구성 멤버 [ 생성자 ] 생성자 new 연산자와 같이 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당한다. 객체 초기화 : 필드를 초기화하거나, 메소드를 호출해서 객체를 사용할 준비를 하는 것 생성자를 실행시키지 않고는 클래스로 부터 객체를 만들 수 없다. new 연산자에 의해 생성자가 성공적으로 실행되면, 힙 영역에 객체가 생성되고, 객체의 주소가 반환된다. 반환된 객체 주소는 클래스 타입 변수에 저장되어, 객체에 접근할 때 이용된다. 만약 생성자가 실행되지 않고 예외(에러)가 발생했다면, 객체는 생성되지 않는다. - 기본 생성자 모든 클래스는 생성자가 반드시 존재하며, 하나 이상을 가질 수 있다. 클래스 내부에 생성자 선언을 생략했다면, 컴파일러는 아래와 같이 중괄호 { } 블록 내용이 비어있는 기본 생..
3. Java 자바 - 클래스의 구성 멤버 [ 필드 ] 클래스에는 객체가 가져야할 구성 멤버가 선언된다. 구성 멤버에는 필드(Field) 생성자(Constructor) 메소드(Method) 가 있다. 이 구성 멤버들은 생략되거나 복수 개가 작성될 수 있다. - 필드 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳이다. 선언된 형태는 변수와 비슷하지만, 필드를 변수라 부르지는 않는다. 변수는 생성자와 메소드 내에서만 사용되고, 생성자와 메소드가 실행 종료되면 자동 소멸된다. 필드는 생성자와 메소드 전체에서 사용되며, 객체가 소멸되지 않는 한 객체와 함께 존재한다. - 생성자 new 연산자로 호출되는 특별한 중괄호 { } 블록이다. 객체 생성 시 초기화를 담당한다. (필드를 초기화하거나, 메소드를 호출해서 객체를 사용할 준비를 한다.) 메소드와 비슷하..
2. Java 자바 - 객체와 클래스 객체는 설계도를 바탕으로 만들어진다. 설계도를 보고 자동차를 만들 듯, 메모리에서 사용하고 싶은 객체가 있다면, 우선 설계도로 해당 객체를 만드는 작업이 필요하다. 즉, 자바에서 설계도는 클래스(class) 이다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다. 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다. (자동차 객체는 자동차 클래스의 인스턴스이다.) 클래스로 부터 객체를 만드는 과정을 인스턴스화라고 한다. 하나의 클래스로부터 여러 개의 인스턴스(객체)를 만들 수 있다. (여러 대의 자동차) 객체 지향 프로그래밍 개발의 세 가지 단계 1. 클래스 설계 2. 설계된 클래스를 가지고 사용할 객체 생성 3. 생성된 객체를 이용하기 main( ) 메소드만 작..
1. Java 자바 - 객체 지향 프로그래밍 객체 지향 프로그래밍 (OOP : Object Oriented Programming) 부품에 해당되는 객체들을 먼저 만들고 하나씩 조립해서 완성된 소프트웨어를 만드는 기법 완성품인 객체를 모델링하고 집합 관계에 있는 부품 객체와 사용 관계에 있는 객체들을 하나씩 설계 후 조립하는 방식으로 프로그램을 개발한다. 객체(Object) 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고, 다른 것과 식별 가능한 것 (자동차, 자전거, 책 등..) 객체는 속성과 동작으로 구성되어 있다. (사람 : 이름, 나이, 걷다, 웃다 .. 자동차 : 색상, 모델명, 가속, 브레이크, . . .) 자바에서는 이런 속성과 동작을 각각 필드(속성), 메소드(동작)로 부른다. 객체 모델링 현실 세..
8. Java 자바 참조 타입 - 열거 타입 열거 : 한정된 값만을 갖는 데이터 타입으로 몇 개의 열거 상수 중에서 하나의 상수를 저장하는 데이터 타입이다. 열거 예) 요일(열거 타입 이름) : 월, 화, 수, 목, 금, 토, 일 (열거 상수) 계절(열거 타입 이름) : 봄, 여름, 가을, 겨울 (열거 상수) 1. 열거 타입 선언 열거 타입을 선언하기 위해서는 열거 타입의 이름을 정하고, 열거 타입 이름으로 소스파일(.java)를 생성해야 한다. 열거 타입 이름은 관례적으로 첫 문자를 대문자, 나머지는 소문자로 구성한다. ex) Week.java, MemberGrade.java, ProductKind.java 소스파일의 내용으로 열거 타입 선언이 온다. public enum 열거타입이름 { 열거 상수1, 열거 상수2, . . . } - public..
7. Java 자바 참조 타입 - 객체를 참조하는 배열, 배열 복사, 향상된 for 문 1. 객체를 참조하는 배열 기본 타입 (byte, char, short, int long, float, double, boolean) 배열은 각 항목에 직접 값을 갖고 있지만, 참조 타입 (클래스, 인터페이스) 배열은 각 항목에 객체의 번지를 가지고 있다. ex) String 은 클래스 타입 이므로, String[ ] 배열은 각 항목에 문자열이 아니라 String 객체의 주소를 가진다. String[ ] strArray = new String[3]; strArray[0] = "Java"; strArray[1] = "C++"; strArray[2] = "C#"; 아래와 같이 메모리 영역에 저장된다. String[ ] 배열의 항목도 String 변수와 동일하게 취급되어야 한다. 따라서, String[ ] 배..