캡슐화
변수와 메서드를 하나의 클래스 안에 묶는 것.
정보 은닉
private 같은 접근제어자로 내부 데이터를 숨기고, 필요한 기능만 공개하는 것.
추상화
복잡한 내부 과정은 숨기고, 꼭 필요한 기능만 보여주는 것.
상속성
부모 클래스의 변수와 메서드를 자식 클래스가 물려받아 사용하는 것.
다형성
같은 이름의 메서드나 객체가 상황에 따라 다르게 동작하는 것.
예: 오버로딩, 오버라이딩.
클래스 이름 규칙 (Java)
- 사용 가능: 영문자(A–Z, a–z), 숫자(0–9), 언더바(_)
- 사용 불가: 공백, 특수문자(예: !, @, #, -, . 등)
- 숫자는 맨 앞에 올 수 없음
- 첫 글자는 대문자로 작성(PascalCase 권장)
- 예약어는 사용할 수 없음
- 예:
class,public,static,void,int,if,for,while,return,new등
- 예:
비트 연산자 (Java)
&(AND): 두 비트가 모두 1이면 1|(OR): 둘 중 하나라도 1이면 1^(XOR): 두 비트가 서로 다르면 1~(NOT): 비트 반전(0↔1)<<(왼쪽 시프트): 비트를 왼쪽으로 이동, 일반적으로>>(오른쪽 시프트): 비트를 오른쪽으로 이동(부호 유지), 일반적으로
간단 예시
5 & 3→0101 & 0011 = 0001→ 15 | 3→0101 | 0011 = 0111→ 75 ^ 3→0101 ^ 0011 = 0110→ 6~5→...1010(2의 보수 표현이라 결과는 음수)