일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- break
- oracle developer
- o(log n)
- 자바
- C#접근제한자
- 메이븐업데이트
- Oracle
- 자바연산자
- 접근제한자
- O(n)
- C#접근제어자
- C언어 표준 라이브러리
- Vo
- DB
- DB 제약조건
- JavaSwing
- java접근제어자
- sql
- DAO
- oracle db
- DEFAULT
- JSP
- Oracle SQL Developer
- DTO
- 빅오표기법
- java
- 데이터베이스
- 오라클
- mvc디자인패턴
- DATABASE
Archives
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
C# vs JAVA 접근제어자 본문
Java와 C#은 비슷한 목적으로 사용되는 객체 지향 프로그래밍 언어이나 접근 제어자에는 몇 가지 차이가 있다.
- public:
- Java: 다른 클래스, 패키지 및 모든 곳에서 접근 가능.
- C#: 동일한 어셈블리 내에서와 다른 어셈블리에서 모두 접근 가능.
- private:
- Java와 C#: 같은 클래스 내에서만 접근 가능.
- protected:
- Java: 동일한 패키지 내에서는 어디서든 접근 가능하며, 다른 패키지에서는 해당 클래스의 하위 클래스에서만 접근 가능.
- C#: 동일한 클래스나 하위 클래스에서만 접근 가능.
- default(package-private) (Java):
- Java에서는 별도의 키워드 없이 접근 제어자를 명시하지 않으면 기본적으로 패키지 내에서만 접근 가능한 제어자로 취급.
- C#에는 이에 해당하는 제어자가 없으며, 대신 internal 제어자가 유사한 기능을 제공.
- internal (C#):
- Java에는 없는 C#의 접근 제어자로, 동일한 어셈블리 내에서만 접근 가능.
- protected internal (C#) vs protected (Java):
- C#: 동일한 어셈블리 내에서는 어디서든 접근 가능, 다른 어셈블리에서는 해당 클래스의 하위 클래스에서만 접근 가능.
- Java: 비슷한 역할을 하지만, 패키지 내에서의 접근 제한은 없다.
- private protected (C#):
- C#: 동일한 어셈블리 내에서만 하위 클래스에서 접근 가능.
- Java에는 이에 해당하는 제어자가 없다.
=>
- 접근 범위에 대한 확장:
- Java에서는 특별한 접근 제어자가 없으며, 패키지 밖에서의 접근을 허용하는 제어자는 없다.
- C#에서는 protected internal 제어자를 사용하여 동일한 어셈블리 내에서는 어디서든 접근 가능하고, 하위 클래스에서도 접근 가능한 멤버를 지정할 수 있다.
- 접근 제어자의 명칭:
- Java: default, public, private, protected 등 명시적인 접근 제어자 키워드를 사용
- C#: internal, protected internal, private protected 등의 명시적인 접근 제어자 키워드를 사용