'class'에 해당되는 글 2건

Code/JAVA

클래스_1(클래스와 객체)

반응형


클래스 

- 객체란? 

: 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있는 다른 것과 식별 가능한 것  속성과 동작 -> 필드와 메소드

- 객체 모델링 : 객체를 소프트웨어 객체로 설계하는 것/ 현실 세계의 객체의 속성고 동작을 추려내어 소프트웨어 객체의 필드와 메소드를 정의하는 것 


- 객체들은 각각 독립적으로 존재하고, 다른 객체와 서로 상호작용하면서 동작

 -> 메소드 / 객체가 다른 객체의 기능을 이용하는 것 : 메소드 호출

메소드는 도트(.) 연산자 이용해 필드와 메소드 접근할 때 사용

 

 

 

- 객체는 개별적으로 사용할 수 있지만, 대부분 다른 객체와 관계를 맺고 있다.


1. 집합관계 : 하나는 부품이고 하나는 완성품에 해당
2. 사용관계 : 객체 간의 상호작용. 객체는 다른 객체의 메소드를 호출하여 원하는 결과를 얻어낸다. 
3. 상속관계 : 상위(부모) 객체를 기반으로 하위(자식) 객체를 생성하는 관계 / 대부분 상위: 종류, 하위 : 구체적인 사물

 



객체 지향 프로그래밍의 특징


1. 캡슐화(Encapsulation) : 객체의 필드, 메소드를 하나로 묶고, 실제 구현 내용을 감추는 것. 외부 객체는 객체 내부의 구조를 알지 못하며, 객체가 노출해서 제공하는 필드와 메소드만 이용할 수 있음
  -> why? 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 


2. 상속(Inheritance) : 부모 역할의 상위 객체와 자식 역할의 하위클래스가 있음 -> 상위 객체는 자기가 가지고 있는 필드와 메소드를 하위 객체에 물려주어 하위 객체가 사용할 수 있도록 함
-> 재사용, 효율적, 개발 시간 절약, 유지보수 최소화


3. 다형성(Polymorphism) : 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질
  자바에서는 부모 클래스 또는 인터페이스 타입 변환 허용 ex) 부모 타입에는 모든 타입의 자식 객체가 대입될 수 있고, 인터페이스 타입에는 모든 구현 객체가 대입될 수 있다.

 


객체와 클래스


- 객체 : 하나의 설계도
- 클래스 : 객체를 생성하기 위한 필드와 메소드 정의 됨, 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 함


1. 클래스 설계 -> 2. 설계된 클래스를 가지고 사용할 객체 생성해야 함 -> 3. 생성된 객체 사용
main() 메소드 없는 크래스는 객체 생성 과정을 거쳐 사용해야 함

- 클래스 선언 
 : 하나 이상의 문자로 이루어져야 함. 첫번째 글자 숫자 올 수 없음. '$','_' 외의 특수문자 사용 불가, 자바 키워드 불가


- 객체 생성 : new 클래스();
      new : 클래스로부터 객체를 생성시키는 연산자. -> 생성된 객체는 메모리 힙(heap) 영역에 생성됨 
    힙 영역에 객체 생성 후 객체 주소 리턴 -> 객체 사용할 수 있음 ex) 클래스 변수; 변수 = new 클래스();


- 실행 클래스 : main 가지고 있는 실행 클래스


- 라이브러리 클래스 (API) : 다른 클래스에서 사용할 목적으로 이루어 짐


- 클래스의 구성 멤버 : 필드, 생성자, 메소드

1. 필드 : 객체의 고유 데이터, 부품 객체, 상태 정보 저장하는 곳. 선언 형태는 변수와 비슷하지만 필드를 변수라고 부르지 않음. 생성자와 메소드 내에서만 사용. 종료되면 자동 소멸


2. 생성자 : new 연산자로 호출되며 특별한 중괄호 {} 블록임. 
    역할 : 객체 생성 시 초기화 담당 - 필드 초기화 or 메소드 호출해서 객체 사용할 준비, 클래스 이름과 같고 리턴 타입 없음


3. 메소드 : 객체의 동장에 해당하는 중괄호{} 블록
    메소드 호출하면 중괄호 블록에 있는 모든 코드 일괄적으로 실행. 필드 읽고 수정하는 역할 + 다른 객체 생성해 다양한 기능을 하기도 함

 

- <이것이 자바다1>. 한빛 미디어

 

반응형

'Code > JAVA' 카테고리의 다른 글

클래스_3(정적, 인스턴스)  (0) 2019.06.18
클래스_2(필드, 생성자,메소드)  (0) 2019.06.18
열거 타입  (0) 2019.06.18
배열  (0) 2019.06.18
참조 타입  (0) 2019.06.18
Code/JAVA

자바 프로그램 개발 순서

반응형
  1. . java 소스 파일 생성
  2. 컴파일러(javac.exe)로 바이트 코드 파일(. class) 생성
  3. JVM 구동 명령어(java.exe)로 실행

 

자바 프로그램 개발하기 위해 우선 .java인 텍스트 파일 생성하고 프로그램 소스 작성 -> 자바 소스 파일

작성 완료된 자바 소스 파일은 컴파일러(javac.exe)를 통하여 컴파일해야 한다.

성공되면 .class인 바이트 코드 파일 생성된다. 

 

이것이 돌아가는 과정을 테스트해보자

  1.  메모장을 열어 아래와 같이 입력한다.

 

  2.  저장할 때 Hello.java로 저장한다.

이때 주의 사항은 파일 형식을 텍스트 문서가 아닌 모든 파일 형태로 해야 하며, 파일 이름 뒤에 확장명(. java)을 붙여야 한다.

 

  3. 명령 프롬프트 실행시켜 cd: 명령어를 통하여 파일 저장한 위치에 접근할 것이다.

    cd : change directory로 기본 cmd 실행 시 뜨는 파일 위치를 바꿔줄 것이다.

    사용자가 바탕화면에 저장했다면 cd C:\Users\User\Desktop으로 입력하며 된다.

    참고로 명령 프롬프트에서는 ctrl+v 가 안되기 때문에 마우스로 붙여 넣기 해야 한다.

 

  4. 디렉터리가 변경되었다면, javac Hello.java 명령어를 실행시킨다.

 

  5. 아무런 오류 없이 사용되었다면, Hello.java 가 저장된 폴더로 가보자. 그 폴더 안에 Hello.class라는 파일이 생성되었을 것이다.

 

  6. Hello.class를 실행하기 위해 java Hello 명령어를 실행시킨다.

 

 

이렇게 출력 결과가 뜬다면 자바 파일을 컴파일러를 통해 바이트 코드 파일이 생성되고 JVM 구동 명령어를 통해 실행된 것이다.

 

기본적으로 자바를 실행하는 방법에 알게 되었다면, 다음 편에서 Eclipse를 설치하는 법에 대해 알아본다.

 

- <이것이 자바다1>. 한빛미디어

반응형

'Code > JAVA' 카테고리의 다른 글

변수와 타입  (0) 2019.06.18
이클립스 설치  (0) 2019.06.18
자바(JAVA) 개발 환경 구축_2. 환경변수 설정  (0) 2019.06.18
자바(JAVA) 개발 환경 구축_1. JDK 설치  (0) 2019.06.18
JAVA 란?  (3) 2019.06.18

푸터바

태그

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

카운터

  • Today :
  • Yesterday :
  • Total :