[Springboot] 스프링부트 접근제어자 / 다형성 / 인터페이스 / String 클래스의 메소드 / 문자 표현 방식
-
728x90
반응형
Java
▶static 키워드가 있는 메소드에서는 static 키워드가 없는 메소드를 부를 수 없다.
▶static 요소들은 프로그램이 실행되면서 메모리에 등록된다.(객체 생성)
▶ 접근제어자(Access Modifier) : 클래스 및 클래스의 구성 멤버에 대한 접근을 제한하는 역할 - 다른 패키지에서 클래스를 사용하지 못하도록 (클래스 제한) - 클래스로부터 객체를 생성하지 못하도록 (생성자 제한) - 특정 필드와 메소드를 숨김 처리 (필드와 메소드 제한)
- private: 클래스 내부에서만 사용 가능 => 변수에 사용
- default : default 라는 단어를 쓰지 않음(자동으로 선언되는 것) => 동일한 디렉토리 내부에 있는 파일들끼리는 공유 가능
- protected : 상속을 받은 상태에서만 사용 가능.
- public: 모든 영역에서 사용 가능 => 메소드에 사용
▶ super, super() <=> this
- super : 자신이 상속받은 부모 클래스에 대한 참조변수
=> 부모 클래스의 멤버에 접근할 때 사용, 주로 객체 안에 있는 부모의 멤버변수와 자신의 멤버변수를 구별하기 위해 사용
- super() : 부모 클래스의 생성자를 호출하기 위해 사용. => 다른 코드에 앞서 첫줄에 사용되어야 함.
- this : 객체 자신을 가리키는 키워드
▶ 다형성 : 같은 타입이지만 다양한 객체 이용이 가능한 성질
- 부모 타입에는 모든 자식 객체가 대입 가능
- 자식 타입은 부모 타입으로 자동 타입 변환
- 효과 : 객체 부품화 가능
▶ 오버라이드, 오버로드
Override : 부모의 메소드를 재정의 하는 것 => 구현체마다 다른 기능을 수행하기 위함
Overload : 같은 이름의 메소드를 여러 개 만들어 두는 => 개발자가 코드를 작성할때 편하게 하기 위함
▶ 인터페이스 (interface)
- 개발 코드와 객체가 서로 통신하는 접점
- 인스턴스를 생성할 수 없고, 클래스 작성에 도움을 줄 목적으로 사용된다.
- 개발 코드 수정을 최소화 하면서 객체 사용 가능
- 개발 코드 변경 없이 리턴값 또는 실행 내용이 다양해 질 수 있음 (다형성)
=> class 대신 interface 를 사용, extends 대신 implements 사용
=>
class - class => extends
interface - interface => extends
inteface - class =>
▶ String 클래스의 메소드
- length : 문자열의 길이
- equals : 동일내용 비
- indexOf : 문자열의 위치
- lastIndexOf : 문자열의 위치
- substring : 문자 자르기
- trim : 공백 제거
- valueOf : 문자타입변환
- toUpperCase : 대문자로 변환
- toLowerCase : 소문자로 변환
- startsWith : 지정문자 시작여부
- endsWith : 지정문자 끝여부
- equalsIgnoreCase : 대소문자 무시 비교
- charAt : 지정위치의 문자
- concat : 문자열 합치기
- contains : 문자열 포함여부
- replace : 문자열 치환
- replaceAll : 문자열 치환
- split : 문열을 배열로 변환
▶ 문자 표현 방식 ( utf-8, euc-kr)
1. utf - 8 : 유니코드를 위한 가변 길이 문자 인코딩(멀티바이트) 방식 중 하나로, ANSI의 단점을 보완하기 위해 만들어짐.