목록언어/자바 (18)
-
SOLID 원칙 SRP : 단일 책임 원칙- Single Responsibility Principle- 객체는 오직 하나의 책임을 가져야 한다. OCP : 개방 - 폐쇄 원칙- Open Closed Principle- 객체는 확장에 대해서는 개방적이고 수정에 대해서는 폐쇄적이어야 한다. LSP : 리스코프 치환 원칙- Liscov Substitution Principle- 자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있다.- 부모 클래스가 들어갈 자리에 자식 클래스를 넣어도 계획대로 잘 동작해야 한다 ISP : 인터페이스 분리 원칙- Interface Segregation Principle- ?? DIP : 의존성 역전 원칙- Dependency Inversion Principle- 추상성이 높..
http://hashcode.co.kr/questions/857/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-string%EA%B0%9D%EC%B2%B4%EC%99%80-%EB%AC%B8%EC%9E%90%EC%97%B4-string%EC%9D%98-%EC%B0%A8%EC%9D%B4%EA%B0%80-%EB%AD%94%EA%B0%80%EC%9A%94
문자열 비교하는데 쓰이는 equals!! equals를 사용하는데 간단한 팁이 있다면~ 1var.equals("test");cs요런 형식 보다 1"test".equals(var);cs요런 형식을 쓰는 게 좋다고 한다. 왜냐하면~변수 var에 null값이 전해질 수 있기 때문이다. 그래서 1var.equals("test");cs이렇게 쓰면, 에러가 날 수 있는데 1"test".equals(var);cs이렇게 쓰면 위 상황에서 발생할 수 있는 에러를 피할 수 있다 간단한~~팁!!
this참조변수로 인스턴스 자신을 가리킨다.참조변수를 통해 인스턴스의 멤버에 접근할 수 있는 것처럼, 'this'로 인스턴스변수에 접근할 수 있다.인스턴스 멤버만 'this'에 접근할 수 있다. static메서드는 인스턴스를 생성하지 않고도 호출될 수 있으므로 static메서드가 호출된 시점에서 인스턴스가 존재하지 않을 수도 있기 때문이다. this는 생성자를 포함한 모든 인스턴스메서드에서 자신이 관련된 인스턴스를 가리키는 참조변수로 숨겨진 채로 존재한다. this - 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다. 모든 인스턴스메서드에 지역변수로 숨겨진 채로 존재한다.this(), this(매개변수) - 생성자, 같은 클래스의 다른 생성자를 호출할 때 사용한다. 출처 : 자바의 정석
생성자인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다.인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용됨. 조건1. 생성자의 이름은 클래스의 이름과 같아야 한다.2. 생성자는 리턴 값이 없다. 기타사항1. 생성자도 오버로딩이 가능하므로 하나의 클래스에 여러 개의 생성자 존재 가능.2. 해당 클래스 내에 생성자가 하나도 없다면 컴파일러가 기본생성자를 추가하여 컴파일한다.3. 생성자가 하나 있다면 기본생성자 추가 안함.4. 생성자 안에서 다른 생성자를 생성하려면 this() 혹은 this(매개변수들...)을 사용하면 됨. 수행 과정1. 연산자 new에 의해서 메모리(heap)에 해당 클래스의 인스턴스가 생성됨.2. 생정자가 호출되어 수행됨3. 연산자 new의 결과로, 생성된 해당 클래스의 ..
절차지향 프로그래밍함수형 프로그래밍 특징1. 코드의 재사용성이 - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.2. 코드의 관리가 - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.3. 신뢰성이 높은 프로그래밍을 가능하게 함.- 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다. '코드의 재사용성이 높고 유지보수가 용이하다.'--> 프로그램의 개발과 유지보수에 드는 시간과 비용을 획기적으로 개선하였다. 절차적 프로그래밍과 비교기존 절차적 프로그래밍에서는 함수를(메소드) 기계, 데이터를 원료로 생각해서 데이터가 함수 사이를 통과하면서 차츰 순서대로 가공돼 나가는 방식..
프로그래밍에서 사용하는 모든 이름은 '식별자(identifier)'라 한다.식별자는 같은 영역 내에서 서로 구분될 수 있어야 한다.식별자를 명명할 때는 다음 규칙을 따라야 한다. 1. 대소문자가 구분되며 길이에 제한이 없다.2. 예약어를 사용해서는 안 된다.3. 숫자로 시작해서는 안된다.4. 특수문자는 '_'와 '$'만을 허용한다.5. 패키지 이름 : 모두 소문자 (예, java.util, java.awt)6. 클래스 이름 : 첫자는 대문자, 나머지는 소문자. 두 단어 이상의 합성일 때는 단어의 첫자는 대문자. 약자일 경우 이니셜은 대문자 (예, StringBuffer, InputStream, URLDecoder)7. 메소드 이름 : 모두 소문자, 두 단어 이상의 합성일 때는 두번째 단어부터 첫자는 대문..
OOP의 특징캡슐화(Encapsulation) : 데이터와 메서드를 하나의 단위로 묶는 것정보은닉 : 외부에서 객체상태를 바꾸거나 허가되지 않은 동작으로부터 보호추상화(Abstraction) : 외부에서 사용해야 하는 기능은 공개, 제한해야 하는 기능은 은폐다형성(Polymorphism) : 같은 메소드에 대해 클래스에 따라 다른 행위를 하게 되는 특징상속성(Inheritance) - 기존에 있던 클래스를 바탕으로 새로운 클래스를 만들 수 있는 성질 이번엔 이 중 '다형성'에 대해 알아보고자 한다.다형성여러 가지 형태를 가질 수 있는 능력.자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 되어있다.조상 클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 한 기능?!?!출..
오버라이딩같은 이름의 메소드가 여러 클래스에서 다른 기능을 하는 것상속받은 메서드의 내용을 변경하는 것오버라이딩 하는 메서드 위에 @Override라는 애너테이션을 붙이는게 좋다(안붙여도 됨).이 메서드가 오버라이딩 되는 메서드라는 것을 확실히 명시하는 역할이름, 매개변수, 반환타입이 같아야 한다.접근 제어자는 조상메서드보다 넓은 범위로 변경 가능예외처리는 조상메서드보다 적게 123456789101112class parentClass { void pMethod() {}} class childClass extends parentClass{ void pMethod() {} //오버라이딩 void pMethod(int a) {} //오버로딩 void cMethod() {} void cMethod(int a) ..