Riucc's Storage
RSS
태그
관리
쓰기
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
Riucc's Storage

[C#] - 클래스 : class, 접근 한정자 : public protected private

C#|2019. 4. 4. 22:28
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

○ 클래스 : class, 접근 한정자 : public protected private

 

- 클래스

     변수와 메소드를 그룹화한 것, 서로 공통된 개념을 묶어서 많이 사용

     new(인스턴스객체 생성, 생성자 호출, 메모리에 공간 할당)를 통해 객체를 생성하여 사용함

     클래스의 생성자는 반환형을 쓰지 않음, 매개변수의 다형성 가능

     자신의 클래스명을 출력하려면, this.GetType().Name 을 사용한다(상속 때 클래스가 다르니까)

     상속받은 상위 클래스명을 출력하려면, this.GetType().BaseType.Name 을 사용한다

     

     class 앞에는 internal 이 접근 한정자로 등록되어 있다(생략되어 있음)

        -> internal 은 동일한 어셈블리 내에서 public과 같은 역할을 해 접근을 가능하게 해줌


     형식 : 

          [접근 한정자] class class_name {

               [접근 한정자] 변수, 메소드    // 멤버 변수, 멤버 메소드

          }


- 접근 한정자 : public, protected, private

     public : 클래스 내외부에서 모두 접근가능, 상속관계에도 마찬가지

     protected : 클래스 안에서는 private 역할, 상속 관계에서는 접근 가능

     private : 클래스 또는 구조체 안에서만 사용가능, 클래스 외부에서 사용불가

          -> public을 생략하고 아무것도 쓰지 않을 시, private 형태이다!


- static 키워드 사용 시, 객체를 사용하지 않고 맴버 변수를 사용한다

     ex) class Class { public static int number = 14; } -> Class.number = 18;



- this

     this는 객체 자신을 참조하는 키워드(ex : this.number = number)   

        

namespace ConsoleApp1

{

    public class Date

    {

        // public 생략 시 자동적으로 private 형태가 됨

        // 만일 public 생략(private)이거나, protected 시, 값 변경이 클래스 외부에서

        // 불가하기 때문에 값 변경을 할 수 없다

        public int Year;

        public int Month; 

        public int Day; 


        // 생성자를 통한 대입

        // 생성자는 클래스명과 동일해야한다!

        public Date(){ }

        public Date(int a, int b, int c)

        {

            Year = a;

            Month = b;

            Day = c;

        }


        // 맴버 메소드를 통해 값 대입

        public void setDate(int a, int b, int c)

        {

            Year = a;

            Month = b;

            Day = c;

        }


        public void PrintDate()

        {

            Console.WriteLine("{0} - {1} - {2}", Year, Month, Day);

        }

    }


    class Class1

    {

        static void Main(string[] args)

        {

            // 두가지 형태(2개의 객체를 만들어)로 값 대입하여 출력

            Date date1 = new Date();

            date1.setDate(2017, 1, 6);

            date1.PrintDate();


            Date date2 = new Date(2015, 4, 27);

            date2.PrintDate();

        }

    }

}

 



저작자표시 (새창열림)

'C#' 카테고리의 다른 글

[C#] - 클래스 배열의 변수과 속성, 인덱스 비교  (0) 2019.04.08
[C#] - property(속성) : 클래스 안의 private형 멤버변수에 접근  (0) 2019.04.05
[C#] - 구조체, 클래스 입출력 : [Serializable] + 컬렉션 + BinaryFormatter (중요)  (0) 2019.04.02
[C#] - string 데이터 분리 : Split, Substring, Trim  (0) 2019.04.02
[C#] - 텍스트, 이진파일 입출력 : FileStream, StreamWriter / StreamReader  (0) 2019.04.01

댓글()
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
최근 등록 현황
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
달력
지난달
2025.10
다음달
일월화수목금토
1234
567891011
12131415161718
19202122232425
262728293031
태그 구름
  • 정보처리산업기사 필기 정리
  • 커널 모듈 프로그래밍
  • 소켓 프로그래밍
  • 정규화
  • 리눅스
  • 데이터베이스
  • 정보처리산업기사 정리
  • 정보처리산업기사 요약
  • 카카오 로그인
  • 이클립스 디비 연동
  • 정규형
  • 정보처리산업기사 15년
  • HTML
  • 이클립스 mysql 연동
  • 소켓
  • nodejs express
  • 정보처리산업기사 총정리
  • 카카오 로그인 연동
  • 안드로이드 intent
  • nodejs MySQL 연동하기(Connection Pool)
  • 정보처리산업기사 16년 필기
  • 자료구조
  • 안드로이드 카카오 로그인
  • 정보처리산업기사 16년
  • 정보처리산업기사 필기
  • jsp
  • 정보처리기사 실기 정리
  • 안드로이드
  • 정보처리산업기사 15년 필기
  • 안드로이드 카카오 로그인 연동
카운터
전체 방문자
오늘
어제
Skin by M1REACT. Designed by M1STORY.TISTORY.COM. Valid XHTML 1.0 and CSS 3. Copyright ⓒ Riucc's Storage. All rights reserved.

티스토리툴바