●리지드 바디(RigidBody) 추가하기

- Plane오브젝트와 Cube오브젝트를 만들고 Cube오브젝트를 클릭한 상태에서 아래 그림처럼 RigidBody를 선택한다. 그리고 나서 ▶(플레이버튼)을 누르면 Cube가 아래로 떨어진다.

 

 

 

 

 

 

●RigidBody란 오브젝트에 물리적인 특성을 부여하는 컴포넌트이다. 외부에서 힘을 주어 이동시키는 오브젝트는 반드시 리지드바디 컴포넌트를 추가해야한다.

 

 

 

 

 

Mass - 질량. 질량이 작을수록 더 빨리 움직이고, 더 멀리 움직인다.

Drag - 저항. 이 값이 크면 속도가 떨어진다.

Angular Drag - 회원 운동 저항. 이 값이 0이면 한없이 굴러간다.

Use Gravity - 중력 사용 여부

Is Kinematic - 관절 운동 처리 여부

Collision Detection - 물체의 연속적인 충돌을 검사하는 방법

 

 

 

 

 

 

 

●오브젝트의 탄성계수 설정

 

 - 프로젝트 탭에서 우클릭->Import Package->Physic Materials 선택후 Import한다.

 

 

 

 

- Cube의 인스펙터에서 Bollider 부분의 Material 오른쪽 끝에 동그란 아이콘을 누른다. 그리고나서 원하는 Material을 선택한다.

 

 

 

 

 

 

Posted by -현's-

댓글을 달아 주세요

 

●디자인 탭에서의 마우스 버튼

 

- 왼쪽 버튼 - 게임 오브젝트 선택

 

- 오른쪽 버튼 - 화면 회원

 

- 마우스 휠 - 화면 확대/축소

 

- 휠 드래그 - 화면 이동

 

- alt+왼쪽버튼 - 화면 회전

 

- alt+오른쪽버튼 - 줌인/줌아웃

 

 

 

 

 

●File 메뉴

 

- Ctrl+N - 새 Scene 만들기

 

- Ctrl+O - Scene 열기

 

- Ctrl+S - Scene 저장

 

- Ctrl+Shift+S - 새 이름으로 Scene 저장

 

- Ctrl+Shift+B - Build 설정

 

- Ctrl+B - Build+Run

 

- Alt+F4 - 유니티 종료

 

 

 

 

●Edit 메뉴

 

- Ctrl+C/X/Y - 복사/잘라내기/붙여내기

 

- Ctrl+Z - 실행 취소

 

- Ctrl+Y - 되돌리기

 

- Ctrl+D - 오브젝트 복제

 

- Shift+Delete - 삭제

 

- F - 선택한 오브젝트 중앙 배치(하이어라키에서 오브젝트 선택후 커서를 디자인탭에 두고 F를 누른다.)

 

- Ctrl+F - 오브젝트 찾기

 

- Ctrl+A - 전체선택

 

- Ctrl+P - 게임 실행

 

- Ctrl+Shift+P - 게임 일시 정지

 

- Ctrl+Alt+P - 1단계씩 실행

 

 

 

 

 

●Assets 메뉴

 

- Ctrl+R - - 에셋 다시 읽기

 

 

 

 

 

●창/탭 이동

 

- Ctrl+1 - 디자인 탭으로 이동

 

- Ctrl+2 - 게임 창으로 이동

 

- Ctrl+3 - 인스펙터 탭으로 이동

 

- Ctrl+4 - 하이어라키 탭으로 이동

 

- Ctrl+5 - 프로젝트 탭으로 이동

 

- Ctrl+6 - 애니메이션 창 호출

 

- Ctrl+7 - 프로파일러 창 호출

 

- Ctrl+9 - 애셋 스토어 호출

 

- Ctrl+0 - 애셋 서버 호출

 

- Ctrl+Shift+C - 콘솔 창 호출

 

- Ctrl+좌우 - 다음 창으로 이동

 

- Ctrl+Shift+좌우 - 작전창으로 이동

 

 

 

 

●디자인 탭의 도구 버튼

 

- Q - 화면이동 선택

 

- W - 오브젝트 이동 선택됨

 

- E - 오브젝트 회원 선택됨

 

- R - 오브젝트 스케일 선택됨

 

- Z - Pivot/Center

 

- X - Local/Global

 

- V - 버텍스 스냅

 

 

 

 

●오브젝트 선택

 

- Ctrl+Alt+1~9 - 선택한 오브젝트 그룹화

 

- Ctrl+Shift+1~9 - 그룹화한 오브젝트 호출

 

 

 

 

 

Posted by -현's-

댓글을 달아 주세요

  1. Favicon of https://chocotart.tistory.com ChocoTart  댓글주소 수정/삭제 댓글쓰기 2014.05.16 13:19 신고

    몰르던 단축키 가 많네요~
    제 블로그에 퍼가고 싶은대 괜찮나요?
    괜찮으시 다면 퍼가는 방법이 따로잇는건가요?
    없다면 내용만 카피 해 가고
    출처를 남길게요~

 

●하이어라 키

- 디자인 탭에서 만든 오브젝틀르 계층 구조로 표시하는 곳이다.

하이어라키 상단의 'create'는 'GameObject->Create Other'메뉴와 같은 기능을 한다.

하이어라키에서 오브젝트를 선택한후 'F'키를 누르면 선택한 오브젝트가 디자인 탭의 중앙에 나타난다.

 

 

 

 

 

 

 

 

●프로젝트 탭

- 현재의 프로젝트에서 사용하고 있는 각종 리소스를 표시한다.

 

 

 

 

 

 

 

 

 

●인스펙터

- 오브젝트에 대한 세부 정보를 표시하고 변경할 수 있는 곳이다.

 

 

 

 

 

 

 

Posted by -현's-

댓글을 달아 주세요

 

●도형을 얼굴라인쪽으로 이동시켜주고 'Selection'의 Vertex서브오브젝트를 선택하여 크기를 작게 만든다.

 

 

 

 

 

 

 

●상단 옆의 빈곳을 우클릭 한 후 'Axis Constrains'를 누르면 x,y,z를 선택할 수 있는 창이 뜬다. 뷰포트에서 x,y,z축을 선택할 수 있지만 여기서 선택하는게 더 편하다.

 

 

 

 

 

 

 

●프론트 뷰포트에서 사각형을 선택한 후 'Edge'버튼을 누른다.

그리고 프론트 뷰보트에서 사각형의 아래 모서리를 선택 후 y축을 누르고 shift버튼을 누르고 적당한 길이로 당긴다.

그 다음 z축을 누르고 레프트 뷰포트로 가서 z축을 조정하여 얼굴 옆 라인에 따라 맞춘다. 이런식으로 얼굴 옆 라인을 그린다.

 

 

 

 

 

 

 

●Vertex서브 오브젝트를 선택한 후 프론트 뷰포트에서 적당한 크리고 맞춰준다.

 

 

 

 

 

 

 

●Vertex 서브 오브젝트 창에서 밑으로 내려가면 다음 화며닝 나온다. 'USE NURMS Subdivision'을 선택한다.

그리고 아래 숫자를 0으로 설정한다. 그러면 노란선이 표시되어 모델링 하기 더 편해진다.

 

 

 

 

 

 

 

 

 

●얼굴 모델링의 기준을 잡기 위해 쓰였던 이미지는 선택 후 삭제해 준다.

 

 

 

 

 

 

●Vertex 서브 오브젝트, Edge 서브오브젝트를 왔다갔다 하면서 모서리를 shift누르고 드래그 해서 복사하고 위치 설정하면서 원하는 모양의 캐릭터를 완성한다.

 

 

 

 

 

 

 

'디자인 > 3D Max' 카테고리의 다른 글

3d max 캐릭터 머리 그리기2  (0) 2012.07.25
3d max 캐릭터 머리 그리기1  (0) 2012.07.23
3d max 단축키  (0) 2012.07.20
3d max UI 인터페이스  (0) 2012.07.19
Posted by -현's-

댓글을 달아 주세요

3d max 단축키

디자인/3D Max 2012. 7. 20. 22:42

 

●(계속 추가중)

 

 

 

 

●제일 많이 쓰이고 기본이 되는 단축키이다.

Q - 오브젝트 선택모드

W - 오브젝트 이동

E - 오브젝트 회원

R - 오브젝트 크기조절

 

 

 

 

 

 

●M - Material Editor 단축키

 

 

 

 

 

●G - 기즈모 보이기/감추기 단축키

 

 

 

 

 

'디자인 > 3D Max' 카테고리의 다른 글

3d max 캐릭터 머리 그리기2  (0) 2012.07.25
3d max 캐릭터 머리 그리기1  (0) 2012.07.23
3d max 단축키  (0) 2012.07.20
3d max UI 인터페이스  (0) 2012.07.19
Posted by -현's-

댓글을 달아 주세요


●JSP는 HTML문서 사이에 JSP문법코드가 삽입된 형태로 작성된다.



●<%   %> - 스크립트릿, 이 안에 자바 코드 쓸수 있다. 

●<%=   %> - 익스프레션, 자바식 출력

●<%@   %> - 지시자, 웹컨테이너가 jsp 페이지를 처리할 때 필요한 정보를 기술

●<%!    %> - 선언부, 변수선언이나 메서드를 선언

●&{ } - 익스프레션 언어(EL)

●<jsp:~~/>, <c:~~/> - 액션 태그




●서블릿
- 장점 : 복잡한 프로그램 구현에 적합하다. 컴파일 결과만 설치해도 되므로 소스코드 유출 보호
- 단점 : HTML 문서의 디자인이 바뀔때 마다 서블릿 클랫를 수정/컴파일/설치 해야하고 웹서버를 재기동하는 일을
           되풀이 해야한다. 설치과정이 복잡하다.


●JSP
- 장점 : HTML중심의 코드구조이므로 디자인 작업에 바로 사용가능하다. 그리고 그 일이 끝나면 바로 프로그램
           로직을 고칠수 있다. 설치 과정이 간단하다
- 단점 : 프로그램 로직이 복잡할 경우 자바코드의 논리적구조를 알아보기가 힘들다. 소스코드가 공개되며,
            프로그래머가 아닌 다른 사람이 소스코드를 만져서 손상시킬 위험성이 있다.



●프로그램의 복잡한 로직을 구사하는 코드는 서블릿 클래스 안에 기술하고 프로그램의 결과를 보여주는 HTML중심의 코드만 JSP페이지안에 기술하는게 좋다.



●실무에서는 JSP페이지에 스크립팅 요스는 아예 쓰지않고 익스프레션언어(EL)와 액션만 사용하는 방법을 주로 쓴다.




●<%@   %>
- 지시자, 웹컨테이너가 JSP페이지를 서블릿 클래스로 변환할 때 필요한 여러가지 정보들은 기술하기 위해 사용하는 문법이다.
-지시자 종류
①<%@ page  어트리뷰트목록  %>

②<%@ include  어트리뷰트목록 %>

③<%@ taglib  어트리뷰트목록  %>




●page 지시자 - jsp 전체에 적용되는 정보를 기술한다.
ex)
<%@ page  contentType = "text/html; charset = euc-kr"  %>
<%@ page  import = "java.util.*" %>




●include 지시자
-  다른 페이지를 불러다 현재 jsp페이지의 일부로 만들기 위해 사용, 현재 jsp페이지를 기준으로 상대적인 url 사용
ex)
<%@ include  file = "Today.jsp" %>




●taglib 지시자 - 액션을 사용할 때 이용한다.
ex)
<%@ taglib  prefix = "c" uri = http://java.sun.com/jsp/jstl/core %>




●html 주석
<!--    주석내용   -->


●jsp 주석
<%--   주석내용   --%>






●jsp 내장객체
request
response
out
application
config
pageContext
session
page
exception





'프로그래밍 > JSP' 카테고리의 다른 글

jsp 기본 문법 정리4  (0) 2012.03.12
jsp 기본 문법 정리3  (0) 2012.03.12
jsp 기본 문법 정리2  (0) 2012.03.11
jsp 기본 문법 정리1  (0) 2012.03.11
JSP 프로젝트 시작하기 & DB 연결하기  (0) 2012.03.10
JSP 이클립스 개발 환경 구축(세팅)  (0) 2012.03.10
Posted by -현's-

댓글을 달아 주세요

●using 지시어 - 뒤에 지정한 네임스페이스를 이용한다는 것을 선언
ex)
using System;



●Console클래스는 System 네임스페이스에 속한다.




●스트림 - 파일의 읽기 및 쓰기에 대한 데이터의 흐름을 스트림이라 한다. C#에서는 스트림 전용 클래스에서 생성한 객체를 사용한다. 스트림 클래스를 이용하려면 'using System.IO;'를 선언해야 한다.




●예외처리
ex)
try{
    예외가 발생할지도 모르는 처리
} catch(예외클래스명  변수명){
    예외 발생시 실행하는 처리
} finally{
    뒷 마무리 작업
}



●문자 읽기
①파일 열기 - FileStream클래스를 사용하여 스트림을 만들고 StreamReader라는 읽기용 클래스에 전달
ex)
FileStream fs = newStream("A.txt", "FileMode.Open");       //A.txt는 파일이름이고 FileMode는 열기모드이다
StreamReader r = new StreamReader(fs);


-열기모드
 처리  의미
 FileMode.Open  기존파일을 연다
 FileMode.OpenOrCreate  파일이 없으면 만들어서 연다
 FileMode.Append  추가모드로 연다. 파일이 없으면 만든다.
 FileMode.Create  파일을 만든다. 같은 이름 파일이 있으면 이전 파일 지우고 만든다
 FileMode.CreateNew  파일들 만든다. 같은 이름 파일이 있으면 예외가 발생한다.



②데이터를 읽는다 - StreamReader클래스의 ReadLine()메서드를 사용한다.
ex)
string s = r.ReadLine();      //ReadLine는 한행의 문자열을 읽는다.


③파일을 닫는다 - StreamReader클래스의 close()메소드 사용
ex)
r.Close();



●문자 읽기 예
ex)
using System;
using System.IO;
class Read{
   static void Main(){
        FileStream fs;
        try{
            fs = new FileStream("A.txt", FileMode.Open);     //A.txt는 실행파일과 같은 위치에 준비한다.
        }
        catch(IOException){
           Console.WriteLine("파일을 열 수 없음");
           return;
        }
        StreamReader r = new StreamReader(fs);
        string s;
        while(( s = r.ReadLine() ) != null ){
            Console.WriteLine(s);
        }
        r.Close();
     }
}


●문자 쓰기
①파일 열기 - FileStream클래스를 사용하여 스트림을 만들고 StreamWriter라는 쓰기용 클래스에 전달
ex)
FileStream fs = new FileStream("A.txt", FileMode.Create);
StreamWriter w = new StreamWriter(fs);



②데이터를 쓴다 - StreamWrite클래스의 Write()메소드를 사용
ex)
w.Write("파일에 쓸 내용");


③파일 닫기 - StreamWriter클래스의 Close()메소드를 사용
ex)
w.Close();



●키보드 입력 - Console클래스의 ReadLine()메소드 사용
ex)
string s = Console.ReadLine();



●데이터 순서를 지정하여 출력
ex)
WriteLine("{0} {1} {2} {0}", "0번째", "1번째", "2번째");

출력 : 0번째1번째 2번째 0번째
ex)
WriteLine("{1}-{0}은 {2}이다." "3","2",3-2);



●문자열 조작 메서드
- Length - 문자열 길이  반환
ex)
string a = "abc";
string b = a.Length;

- IndexOf - 문자열의 인덱스번호를 검색
ex)
string a = "abcde";
int b = a.IndexOf('d');

- Substring - 문자열 일부를 가져옴
ex)
string a = "abcde";
atring b = a.Substring(1, 3);     //인덱스번호 1부터 문자열 3개 가져온다. (인덱스 번호는 0부터 시작)



●데이터형 변환 메소드
- 다른형에서 문자열로 변환할 때 ToString() 메소드 사용
ex)
int a = 1;
string b = a.ToString();

- 문자열에서 다른 형으로 변환할 땐 각 데이터형의 Parse() 메소드 사용
ex)
string a = "10";
int b = int.Parse(a);



●C#은 c, c++과 달리 자동으로 garbage collection을 한다.


'프로그래밍 > C#' 카테고리의 다른 글

c# 기본 문법 정리5  (0) 2012.03.08
c# 기본 문법 정리4  (0) 2012.03.08
c# 기본 문법 정리3  (0) 2012.03.07
c# 기본 문법 정리2  (0) 2012.03.07
c# 기본 문법 정리1  (0) 2012.03.04
Posted by -현's-

댓글을 달아 주세요


●추상클래스 - 추상메서드를 가진 클래스이다.
●추상메서드 - 처리를 명시하지 않고 호출한 쪽만 정의한 메서드
ex)
abstract class A{
   public abstract void Add();   // '{}'안쓰고 ';'으로 끝난다.
}



●추상클래스를 상속하여 객체를 생성하려면 다음과 같이 override붙인 멤버를 준비한다.
ex)
abstract class A{
   public abstract void add();
}
class B : A{
   public override void add(){
         ~~
   }
}




●인터페이스 - 추상메서드, 추상속성, 추상인덱서, 이벤트만 멤버로 가질 수 있다.
ex)
interface A{
   public abstract void a();
   public abstract int b{
      get;
      set;
  }
}
class B : A{
   public void a(){
       ~~
   }
   public int prop{
          get{
               return b;
         }
         set{
              b=value;
         }
    }
}



●인터페이스의 정의에서 모든 메서드는 public로 취급하므로 엑세스 수식자는 생략할 수 있다.
ex)
interface A{
    void a();
    int b{
      get;
      set;
   }
}



●인터페이스는 여러개 받을 수 있다.
ex)
class X : A, B, C{
    ~~
}


●인터페이스의 상속 - 인터페이스도 클래스처럼 상속하여 새 인터페이스를 만들 수 있다.
ex)
interface A{
    ~~
}
interface B : A{
    ~~
}



●터페이스는 여러개 상속가능하다.
ex)
interface X : A, B, C{
   ~~
}


●상속원본의 인터페이스와 상속대상의 인터페이스에 각각 같은 멤버가 있을 경우 상속대상의 추상멤버에 new를 붙인다. new 안 붙이면 경고 발생
ex)
interface A{
   void e();
   void f();
}
interface B : A{
   void a();
   new e();
}



●object클래스 - 모든 클래스의 기본이 되는 클래스이다. 모든 클래스는 object클래스를 상속하고 있다.



●박스화(boxing) - 값형의 데이터를 객체형 변수에 대입하는 것
ex)
int a = 10;
object obj;
obj = a;



●박스화 해제 - 객체형의 데이터를 값형에 대입하는 것, 형을 명확히 하기 위해 형변환 사용
ex)
object obj = 10;
int b = (int)obj;



●네임스페이스 - 같은 이름의 클래스 등이 경합을 일으키지 않도록 할 수 있게 한다.
ex)
namespace A{
    class Abc{
          ~~
   }
}



●네임스페이스 안에 속해 있는 클래스를 참조하려면 '.' 사용
ex)
A.abc;



●네임스페이스 안에 네임스페이스를 만들 수 있다.
ex)
namespace A{
   namespace B{
        ~~
   }
}

namespace A{
       ~~
}
namespace A.B{
      ~~
}


'프로그래밍 > C#' 카테고리의 다른 글

c# 기본 문법 정리5  (0) 2012.03.08
c# 기본 문법 정리4  (0) 2012.03.08
c# 기본 문법 정리3  (0) 2012.03.07
c# 기본 문법 정리2  (0) 2012.03.07
c# 기본 문법 정리1  (0) 2012.03.04
Posted by -현's-

댓글을 달아 주세요


●속성 - 객체 안에 있는 필드의 값을 취득 또는 설정하는 메서드이다. 필드를 반환하는 get엑세서와 필드에 값을 대입하는 set엑세서로 구성된다. 자바에서 setter, getter랑 비슷한 개념이다
ex)
usting System;
class A{
    public int a;
    public int sok{
          get{
          return a;
          }
          set{
          a=value;
          }
      }
}

A a=new A();
a.sok = 3;              //따로 set, get을 표시하지 않고 그냥 입력 or 출력하면 된다.
Console.Write(a.sok);



●인덱서(indexer) - 객체를 배열처럼 취급하고자 할 때 사용한다. 속성과 같이 get, set으로 구성
ex)
using System;
class A{
    int []a = new int[4];
    public int this[int i]{
        get{
        return a[i];
       }
        set{
        a[i]=value;
       }
    }
}

A a = new A();
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4;
for(int i=0; i<=3; i++){
  Console.Write(a[i]);
}



●상속 - ' :부모클래스명'을 붙인다
ex)
class A{
   ~~
}
class B : A{
   ~~
}



●sealed - 상속되지 않도록 할 클래스는 sealed를 사용하여 봉인한다.
ex)
sealed class A{
   ~~
}



●클래스를 상속했을 때 부모클래스와 자식클래스 각각에 생성자가 있는 경우 부모클래스로부터 차레로 생성자가 작동한다.




●기본 클래스의 생성자를 호출
- 상속한 생성자에 인수가 있는 경우에는 다음과 같이 base를 이용하여 상속원본에 인수를 전달
ex)
using System;
class A{
   public int x;
   public A(int a, int b){
       x=a+b;
   }
]
class B : A{
   public B(int c, int d) : base(c, d){}
}



●이름 은폐
- 자식 클래스의 멤버에 부모클래스의 멤버와 같은 이름을 붙이고자 할 경우에는 멤버의 정의 앞에 'new'를 붙인다.
여기서 new는 객체생성시 사용하는 new랑 다르다. new가 붙은 멤버를 호출하면 자식클래스 쪽의 멤버가 호출된다.
ex)
class A{
   public int a=10;
}
class B : A{
   new public int a=30;
}



●base - 이름이 은폐된 부모클래스의 멤버를 자식클래스안에서 사용할 때 사용
ex)
using System;
class A{
   public int a=3;
}
class B : A{
   new public int a=100;
   public void print(){
      Console.WriteLine(base.a);
   }
}



●오버라이드
 -상속한 메서드와 같은 이름, 같은 인수, 같은 반환값을 가지는 메서드를 해서 덮어 쓰는것. 오버라이드 되는 메소드에는 'virtual' 키워드를 붙이고 오버라이드 한 메소드에는 'override' 키워드를 붙인다
ex)
class A{
   public virtual void bye(){
      ~~
}}
class B : A{
   public override void bye(){
      ~
}}


'프로그래밍 > C#' 카테고리의 다른 글

c# 기본 문법 정리5  (0) 2012.03.08
c# 기본 문법 정리4  (0) 2012.03.08
c# 기본 문법 정리3  (0) 2012.03.07
c# 기본 문법 정리2  (0) 2012.03.07
c# 기본 문법 정리1  (0) 2012.03.04
Posted by -현's-

댓글을 달아 주세요


●if문
if (조건) {
   내용
}
else  if(조건){
   내용
}
else{
   내용
}



●for문
int i;
for(i=0; i<3; i++){
   처리
}



●foreach문 - 배열같은 여러 데이터 모음의 각 요소를 처음부터 끝가지 한번씩 호출하여 처리할 때 사용하면 편리
ex)
int []nums=new int[5];
foreach(int  a  in  nums)
    Console.WriteLine(a);




●while문
while(조건){
   처리
}



●for문이나 while문 등의 반복을 실행도중에 중단하려면 break문, continue문 사용. 다른 언어랑 비슷함



●switch문
switch(식){
   case 값1:
          처리
          break;
   case 값2:
          처리
          break;
   default:
         처리
         break;
}



●클래스, 객체(Object) - 개념은 c++, java의 클래스와 비슷하다



●객체(Object) - 클래스를 실체화 한것. 클래스를 실체화하는 동작을 '인스턴스화하다' 또는 '객체를 생성하다'라고
                       표현한다.


●클래스의 정의
ex)
class A{
      public int a;        //접근 제한자를 생략하면 private으로 설정됨
      public int b;

      public int add(){
             return a+b;
      }
}             //c++과 달리 뒤에 ';' 안 붙임


●객체 생성 - new연산자 이용
ex)
A  a;
a = new A();
A  a = new A();



●필드 - 클래스 안의 '변수'를 뜻한다.
  메소드 - 클래스 안의 '함수'를 뜻한다.




●같은 객체내의 필드나 메소드를 참조하려면 필드명, 메소드명을 그대로 써준다.
다른 객체내의 필드나 메소드를 참조하려면 '.(마침표)'를 사용하며 '객체명.필드명' 이런식으로 사용한다.




●오버로드(overload) - 한 클래스안에 이름이 같고 인수의 수나 형이 다른 메소드를 여러개 정의하는 것. 이름이 같고 반환값이 다른 메소드는 오류 뜬다.



●생성자 - 객체의 생성과 함게 자동으로 호출되는 것으로서 클래스와 같은 이름의 특수한 메소드이다. 필드의 초기화 등에 이용한다.
ex)
class A{
     public int a, b;
     public A(){          //생성자는 반환값이 없다.
         a=0;
         b=0;
     }
}



●생성자를 작성하지 않으면 인수 없는 생성자가 자동으로 준비된다. 이것을 '디폴트 생성자'라고 한다.



●복사 생성자 - 같은 클래스의 객체를 인수로 받아 대응하는 필드에 값을 대입하는 생성자를 복사생성자라고 한다.
ex)
using System;
class A{
     public string title;
     public string writer;
     public A(string t, string w){
             title=t;
            writer=w;
     }
     public A(A a){
         title = a.title;
        writer = a.writer;
     }
}
class M{
static void Main(){
      A a = new A("책", "작가");
      A b = new A(a);
     }
}


'프로그래밍 > C#' 카테고리의 다른 글

c# 기본 문법 정리5  (0) 2012.03.08
c# 기본 문법 정리4  (0) 2012.03.08
c# 기본 문법 정리3  (0) 2012.03.07
c# 기본 문법 정리2  (0) 2012.03.07
c# 기본 문법 정리1  (0) 2012.03.04
Posted by -현's-

댓글을 달아 주세요