본문 바로가기

전체

메서드 오버라이딩 vs 메서드 오버로딩 1. 메서드 오버라이딩 vs 메서드 오버로딩 메서드 오버라이딩은 부모에게서 상속 받은 기능을 자식이 재정의 하는 것을 메서드 오버라이딩(Overriding)이라 한다 메서드 오버라이딩은 하위 클래스에서 상위 클래스의 메서드를 재정의하는 과정을 의미한다. 따라서 상속 관계에서 사용한다 부모의 기능을 자식이 다시 정의하는 것이다. 오버라이딩을 단순히 해석하면 무언가를 넘어서 타는 것을 말한다. 자식의 새로운 기능이 부모의 기존 기능을 넘어 타서 기존 기능을 새로운 기능으 로 덮어버린다고 이해하면 된다. 상속 관계에서는 기존 기능을 다시 정의한다고 이해하면 된다 2. 메서드 오버로딩 메서드 이름이 같고 매개변수(파라미터)가 다른 메서드를 여러개 정의하는 것을 메서드 오버로딩(Overloading)이라 한다. ..
상속의 이해와 예시 1. 상속의 이해 상속은 부모의 기능을 자식이 물려 받는 것이다. 부모 : 자동차 자식 : 전기차, 가솔린차 자동차 : 추상적인 개념 전기차, 가솔린차 : 구체적인 개념 전기차나 가솔린차는 이동한다는건 공통이지만 주유방식은 다름. 이런경우에 상속관계를 사용하는게 효과적 상속은 객체 지향 프로그래밍의 핵심 요소 중 하나 기존 클래스의 필드와 메서드를 새로운 클래스에서 재사용하게 해 준다. 상속을 사용하려면 extends 키워드를 사용 extends 대상은 하나만 선택할 수 있다 extends 는 확장이라는 뜻 자바는 다중 상속을 지원하지 않는다. 부모를 하나만 선택할 수있다. 상속 관계 덕분에 중복이 줄어든다 2. 용어 정리 부모 클래스 (슈퍼 클래스): 상속을 통해 자신의 필드와 메서드를 다른 클래스에 ..
상수란? 상수란? 변하지 않고 항상 일정한 값을 갖는 수 > final 단 하나만 존재한다 > static static final 이 붙으면 그래서 상수라한다. 대문자를 사용한다 구분은 언더스코어로 한다. 상수는 중앙에서 값을 하나로 관리할 수 있다는 장점도 있다. 상수는 런타임에 변경할 수 없다. 상수를 변경하려면 프로그램을 종료하고, 코드를 변경한 다음에 프로그램을 다시 실행해야 한다.
final 사용법 1. final 이란? final은 이름 그대로 끝이라는 뜻이다 변수에 final 키워드가 붙고 값이 할당이 한번 되었다면 더는 값을 변경할 수 없다. 참고로 final 은 class , method 를 포함한 여러 곳에 붙을 수 있다. 2. final 지역변수 사용 final 을 지역 변수에 설정할 경우 최초 한번만 할당할 수 있다. 이후에 변수의 값을 변경하려면 컴파일 오류가 발생한다. final 을 지역 변수 선언시 바로 초기화 한 경우 이미 값이 할당되었기 때문에 값을 할당할 수 없다. 매개변수에 final 이 붙으면 메서드 내부에서 매개변수의 값을 변경할 수 없다. 따라서 메서드 호출 시점에 사용 된 값이 끝까지 사용된다 3. final 멤버 변수 사용 final 을 필드에 사용할 경우 해당 필..
클래스 메서드 사용법 및 제한 1. 정적 메서드 사용법 클래스 내부의 기능을 사용할때 static 메서드는 static이 붙은 정적 메서드나 정적 변수만 사용할 수 있다. 인스턴스 변수나 인스턴스 메서드를 사용할 수 없다. 반대로 인스턴스 메서드 쪽에서는 정적 메서드나 변수도 당연히 사용할 수 있다. 2. 정적 메서드가 인스턴스의 기능을 사용할 수 없는 이유 특정 인스턴스의 기능을 사용하려면 참조값을 알아야 하는데, 정적 메서드는 애초부터 참조값 없이 호출한다. 따라서 정적 메서드 내부에서 인스턴스 변수나 메서드를 사용할수 없다. 반대로 인스턴스 메소드에서는 정적 메서드나 변수에 접근이 가능하다 3. 정적 메서드이지만 참조값을 넘겨받은 경우는 인스턴스 변수와 메서드에 접근은 가능 하다
클래스 메서드(static 메서드) vs 인스턴스 메서드 1. 클래스 메서드 메서드에 static이 붙음 클래스 메서드는 static 메서드, 정적 메서드라고도 불린다 인스턴스 생성 없이 클래스에 있는 메서드를 바로 호출 가능하다 2. 인스턴드 메서드 static 이 붙지 않은 메서드는 인스턴스를 생성해야 호출 가능 3. 어떤 메서드를 만들어서 호출해야할까? 클래스 안에 멤버변수없이 메서드만 사용한다면 클래스 메서드로 쓰면된다 클래스 안에 멤버변수가 있고 이를 사용한다면 객체 생성후에 인스턴스 메서드를 사용하면 된다
ci cd 문제해결 code deploy agent 설치시 /usr/bin/env: ruby: No such file or directory오류 뜨면 sudo yum install ruby 설치해주면 해결됨
비밀번호 만료 재설정 password has expired 오라클 디벨로퍼 sql 을 이용하다보면 갑자기 시스템 계정으로 접속이 불가하다 이때는 비밀번호재설정 유효기간이 180일로 설정되어있기 때문이다 방법은 아래를 따라한다 1. cmd창을 킨다 2. sql디벨로퍼가 깔려있는 곳으로 이동시킨다 G:\개발\개발 설치\sqldeveloper\최신\sqldeveloper 3. 관리자계정으로 접속한다. sqlplus /"as sysdba" 4. 비밀번호를 변경한다 alter user System identified by "바뀔비번" ; 5. 락을 헤제한다 alter user System account unlock 6. 비밀번호 만료기간만 확인해보면, 180로 설정되어있는것을 볼 수있다. select * from dba_profile..