반응형

IT 64

자바 생성자 (Constructor)

생성자 (Constructor) 란 - 생성자는 인스턴스가 생성되는 시점 (new)에 딱 한번 호출 됩니다. 객체를 초기화하고 heap 에 객체를 저장하는 메서드입니다. 생성자 (Constructor) 의 규칙 - 생성자에는 아래와 같이 두 가지의 규칙이 있습니다. 1. 생성자는 클래스 명과 동일해야 합니다. 2. 생성자는 return 값이 존재하지 않습니다. (void 나 int 와 같이 리턴 타입이 선언되어 있지도 않습니다.) ex) public class ClassName { modifier ClassName () { } } 생성자는 중복 정의가 될 수 있습니다. (생성자 오버로드) 같은 클래스 내에서 오버로딩 된 다른 생성자 하나를 호출하는 것은 생성자 구현부 첫 번째 줄에서만 this() 를 사..

IT/JAVA 2018.01.03

자바 this, this(), super, super()

this, this(), super, super() 우선 this와 this()에 대해 알아보겠습니다. this- 현재 클래스의 인스턴스, 인스턴스의 특정 필드를 지정할때 사용합니다. 자기 자신을 의미하는 참조변수로, 매개변수와 객체 자신이 가지고 있는 변수의 이름이 같은 경우 이를 구분하기 위해 사용합니다. Class Test {int a; public void setA(int a) {this.a = a;}} Test test = new Test(); test.setA(10); 과 같이 setA() 메서드를 호출하게되면, setA(int a) 로 전달된 int의 파라미터 a와 Test 클래스의 필드 값a 가 같은 이름입니다. 이럴 때 this를 붙여주면, "이 a는 현재 메서드 setA(int a)의 ..

IT/JAVA 2018.01.02

JSON(JavaScript Object Notation) 정의, 구조, 장단점

JSON (JavaScript Object Notation) 이란 - JSON이란 경량의 데이터 교환 형식으로 프로그래밍 언어가 아닌 단순히 데이터를 표시하는 표현 방법, 데이터 포맷입니다. 자바스크립트 (Javascript)에서 객체를 만들 때 사용하는 표현식을 의미합니다. Ajax로 서버와 통신하며 데이터를 주고 받을 때 데이터 교환을 쉽게 하기 위해 JSON을 사용합니다. JSON (JavaScript Object Notation)의 구조 - JSON의 자료형은 string, number, true, false, null, object, array 가 올 수 있습니다. 기본적으로 key : value 형태의 구조를 가지고 있습니다. 중괄호 {} 로 감싸게 되며, 이는 객체(Object)가 나올 것을..

인터페이스(Interface) 정의 및 사용 이유 (장점)

인터페이스 (Interface) - 인터페이스란 객체와 객체 사이에서 일어나는 상호 작용의 매개로 쓰인다. (서로 이어주는 다리 역할과 프로젝트의 설계도로 생각하면 됩니다.) 모든 기능을 추상화로 정의한 상태로 선언만 합니다. 인터페이스는 예약어로 class 대신 "interface" 키워드를 사용하면 되며, 접근 제어자로는 public 또는 default를 사용합니다. interface InterfaceName {// ..} 인터페이스는 추상 클래스와 같이 추상 메서드를 가지므로 추상 클래스와 매우 흡사합니다. 인터페이스도 추상 클래스처럼 인스턴스를 생설할 수 없고, 상속 받은 클래스에서 구현한 뒤 자식 클래스를 인스턴스하여 사용합니다. 다만, 추상 클래스와는 아래와 같은 차이점들이 있습니다. - 추상..

IT/JAVA 2017.12.29

자바 접근제어자 (Access Modifier)

자바에는 4가지의 접근 제어자가 있습니다. 1. private 2. (default) 3. protected 4. public 접근 제어자는 단어 그대로 접근 레벨을 제어하는 기능을 합니다. 접근 제어자를 이용한 캡슐화(encapsulation) - 접근 제어자는 클래스 내부에 선언된 데이터를 보호하기 위해 사용합니다. 유효한 값을 유지하도록, 함부로 변경하지 못하도록 접근을 제한하는 것이 필요합니다. 데이터 감추기 (data hiding)라고 하며, 캡슐화에 해당됩니다. private - 접근 제어자 중에서 가장 접근 권한이 좁은 제어자로 자기 자신 클래스(class) 내에서만 이용할 수 있는 멤버를 선언할 때 사용합니다. (default) - 접근 관련 제어자를 별로 지정하지 않은 경우로, 접근 제어..

IT/JAVA 2017.12.29

추상 클래스(Abstract Class)와 추상 메서드(Abstract Method)

추상 클래스 (Abstract Class) - 추상 메서드(Abstract Method)를 포함하고 있는 클래스를 말하며, 추상메서드를 포함하고 있다는 것을 제외하고 일반 클래스와 다르지 않습니다.(생성자, 멤버 변수, 메서드를 가질 수 있습니다.) 추상 클래스로는 단독으로 인스턴스를 생성할 수 없습니다. 상속을 통해 상속(extends) 받은 클래스에 의해 완성이 될 수 있습니다.(새로운 클래스를 작성하는데 있어서 바탕이 되는 조상 클래스라고 생각하면 됩니다.) 추상 클래스는 아래와 같이 "abstract" 키워드를 사용하면 됩니다. abstract class ClassName {// } 클래스의 선언부에 abstract가 있다면, 해당 클래스에는 추상메서드가 있으므로 상속을 통해 구현해줘야 한다는 것..

IT/JAVA 2017.12.29

자바(Java) final 키워드

자바 final 키워드 특정한 어떠한 값이 변경되지 않아야 할 때, final(상수) 키워드를 사용합니다.final은 변수, 메소드, 클래스 모두에 적용할 수 있습니다. final 변수 - 상수라고 불리며, 변수를 선언과 동시에 초기화하며, 이후에는 값을 수정할 수 없고 오직 get 만 할 수 있습니다. final 메소드 - 오버라이딩 (Overriding)을 하지 못하고 상속 받은 그대로 사용해야 합니다. final 클래스 - 상속(Inheritance)이 불가능 합니다.

IT/JAVA 2017.12.28

정규식 예제 정리

1. 한글 var patt_k = /([가-힣ㄱ-ㅎㅏ-ㅣ\x20])/i; // 한글 정규식 if(patt_k.test(string)) {// 한글은 입력할 수 없습니다.} 2. 문자 혼합 var patt = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).*$/; // 혼합 정규식 if(!patt.test(string)) {// 영문,숫자, 특수문자 조합으로 구성해야합니다.} 3. 지정된 특수 문자 외 사용 금지 var ext = (string.replace(/[a-zA-Z0-9]/gi,"")).replace( /[!@#$%^&*?_~]/gi, ""); if(ext !== "" ) {// 지정된 특수문자만 가능합니다.} 4. 같은 영문자 & 숫자 연속 3번 var patt_3..

IT/Etc. 2017.12.27

[jQuery] append() appendTo() 와 prepend() prependTo()

[jQuery] .append() vs .appendTo() 와 .prepend() vs .prependTo() 웹 개발을 하다 보면 웹 페이지를 동적으로 만들어야 할 경우가 많이 있는데 그러한 경우에 사용할 수 있는 함수 들입니다.(버튼을 클릭 했을 때, 웹페이지의 형태를 바꿔야 한다 등) 우선, append(appendTo)와 prepend(prependTo) 를 비교하자면 append 와 appendTo 는 새로운 요소를 타겟(Target)에 해당하는 요소 마지막에 추가 해주고, prepend 와 prependTo 는 새로운 요소를 타겟(Target)에 해당하는 요소 처음 부분에 추가 해줍니다. append(), appendTo(), prepend(), prependTo() 를 사용할 경우, 부모자..

[CSS] Vendor Prefix(접두어) webkit, moz, o, ms

웹 개발을 하면서 CSS에 -webkit-, -moz-, -o-, -ms- 접두어가 속성 앞에 붙어 있는 것을 볼 수 있다. 이는 벤더프리픽스 (Vendor Prefix)라 하며, 이 접두어들은 크로싱 브라우저를 위해 사용된다. 각 접두어의 의미는 아래와 같다. -webkit- : 구글의 크롬, 애플의 사파리 웹 브라우저에 적용한다. -moz- : 웹브라우저 모질라 (파이어폭스)에 적용한다. -ms- : MS(마이크로소프트)의 인터넷익스플로러에 적용한다. -o- : 오페라 웹 브라우저에 적용한다. 간단한 사용 예제 .example {border-radius: 1em;-webkit-border-radius: 1em;-moz-border-radius: 1em;-o-border-radius: 1em;-ms-b..

IT/Etc. 2017.12.26
반응형