본문 바로가기

전체 글

(91)
Java_6강 static(정적인) static은 인스턴스 없이 사용 가능한 필드(변수) / 메소드로 멤버에만 해당된다. (지역변수에는 붙지 않음) 제어자) 접근제어자 : public, protectedm default, private 기타제어자 : static, final static 멤버 변수는 사용 시 클래스의 이름으로 사용되며, 같은 클래스로 만들어진 모든 인스턴스가 공유하는 공간이 된다. 인스턴스 멤버와 스태틱 멤버의 사용에 대한 제약사항) 인스턴스 멤버는 스태틱 메소드에서 사용 불가 (인스턴스 멤버는 스태틱 메소드에서만 사용 가능) 스태틱 멤버는 모든 경우에 사용 가능 => static 멤버는 보호하기 어려운 멤버이다. final 제어자 변수 앞에 final이 붙으면 상수가 된다. final이 클래스 앞에 ..
Java_5강(MVC 패턴 예제) 캡슐화(Encapsulation) 객체 지향의 특성 중 하나인 캡슐화는 변수와 메소드를 하나로 묶어주는 특징을 통칭한다. 1. 클래스 만드는 작업 - 클래스 분류 필드(멤버 변수) Setter 메소드 : 필드에 데이터를 대입하는 메소드 Getter 메소드 : 필드의 데이터를 읽어오는 메소드 제어자 접근 제어자) public은 패키지와 관계없이 모두 사용 가능 default는 같은 패키지 내에서는 모두 사용 가능 protected는 같은 패키지에서 사용 가능. 다른 패키지여도 상속을 받은 클래스에서는 사용 가능 private는 패키지와 관계없이 모두 사용 불가 protected 추가 설명) protected는 같은 패키지, 상속받은 하위(자식) 클래스에서만 접근(사용)이 가능하다. 같은 패키지인 경우 de..
Java_4강 객체 지향(Object Oriented Programming) 객체 지향 프로그래밍이란 다양한 작업이 가능한 프로그램 코드(명령)들을 클래스로 묶어서 작성하고 다른 묶음과 연계하여 처리하는 프로그래밍 방식을 말한다. 여기서 객체는 변수 + 메소드를 의미한다. 객체 지향의 특성) 캡슐화(Encapsulation) : 변수와 메소드를 하나로 묶음 +) 정보은닉(Information Hiding) : 클래스의 구성을 숨김 상속(Inheritance) : 기존 코드를 재사용 + 확장 다형성(Polymorphism) : 같은 이름의 메소드를 만들거나, 대표 클래스로 하위 클래스를 포함시킴 ArrayList ArrayList는 배열과 유사한 형태의 저장 구조 객체이다. java.util 패키지에 포함되어 있으며, ..
Java_3강 메소드(Method) 메소드(함수)란 한 가지 목적을 처리하기 위한 명령어 묶음을 의미한다. 결과값(반환값)이 하나이거나 없으며 함수가 객체 내부에서 작성되었을 때 메소드(Method)라고 불린다. 유형) 파라미터, 반환값 모두 존재 파라미터만 존재 반환값만 존재 파라미터, 반환값 모두 없음 이는 JS에서 함수 파트를 배웠을 때와 동일한 형식을 가진다. 문법) [반환값의 자료형(반환형)] [메소드 이름(파라미터 목록)] { 명령어 } * 가장 기본적인 함수(public static void main(String[] args){ ... }의 의미 - 자바 프로그램의 실행 시작 메소드 - public : 접근 제어자 private - static : 인스턴스 생성 없이 사용 가능 - void : 반환값이 '..
Java_2강 연산자 연산자의 종류는 JS에서 배운 것과 거의 동일하다. 대입 연산자 '=' : 좌변의 값(변수, 수식의 결과값 등)을 우변의 변수에 입력 산술 연산자 +, -, *, /, % : 나눗셈과 나머지 연산은 자료형에 따라 다르게 연산되며 특히 % 연산은 실수 연산에서 사용하지 않는다. 증감 연산자 ++, -- : JS와 동일 비교 연산자 ==, !=, >. >=, for문의 기본 형식 = for(초기식; 조건식; 증감식) => for문의 향상된 형식 = for(변수 : 리스트) 기타 제어문 : break, continue 배열 배열은 JS에서 배운 것과 마찬가지로 여러 변수의 묶음을 의미한다. 그러나 허용되는 것이 많았던 JS와는 다르게 Java에서는 같은 자료형의 데이터만 저장 가능하며 크기가 반드시 지..
Java_1강 변수 변수는 데이터를 저장하는 공간을 의미한다. 변수를 선언하는 방법은 '[자료형] [변수명];'이며 초기화하는 방법은 '[자료형] [변수명] = [초기값];' 혹은 변수를 선언한 뒤 '[변수명] = [초기값];'으로 따로 시켜줘도 된다. 1. 데이터 타입 기본 자료형(primitive type)은 8가지이며, 데이터 크기의 순서는 다음과 같다. byte < short < int < long < float < double < String 또한 숫자형/문자형/불 3가질 나눌 수 있다. 숫자형 정수형 - byte(1), short(2), int(4), long(8) 실수형 - float(4), double(8) 문자형 char(2) 논리형(boolean) boolean(1) 참조형(문자열형) String(크..
Project(2)-3. 기능 알람 페이지 html 요소를 가져와 시간을 입력하지 않으면 alert창이 뜨도록 했다. 반대로 잘 입력됐을 경우 result.innerHTML을 통해 시간이 나타나는 것을 볼 수 있다. 스톱워치 페이지 시작 버튼을 누르면 초 단위인 t2_s 변수를 시작으로 시간을 차례대로 증가시켰다. t2-s가 60이 되면 t2-s는 다시 0이 되고 분 단위인 t1_s가 증가한다. 시 단위도 마찬가지로 진행된다. 이렇게 if문을 3중으로 해 코드를 짜봤으나 상당히 지저분해 보인다. 더 간단하고 유용한 방법이 있을 것이라 생각한다. 그럼에도 스스로 짜봤다는 것에 만족하고 게시해본다. 다음으로 정지 버튼을 누르면 clearInterval을 통해 진행되던 시간이 정지되도록 하였다. 또한 초기화 버튼은 clearInterval..
Project(2)-2. 화면 각 페이지의 헤더와 버튼 디자인은 모두 동일하게 제작되었다. 저번 글에서 언급했다시피 부트스트랩에서 괜찮은 헤더, 수정하기 편할 것 같은 헤더를 가진 템플릿을 선정했다. 그 결과, 템플릿 고유의 로고와 여러 SNS가 연결된 버튼을 제거하고 내가 필요한 요소들만 남겨놓을 수 있었다. 사실 수정한 버전이 더 단조롭고 재미없고 심심한 감이 엄청 느껴진다. 날이 갈수록 디자인은 나와 맞지 않는다는 생각이 들었다... 그럼에도 복잡한 템플릿 코드들을 살피며 내가 필요한 소스를 뽑아낼 수 있게 됐다는 점에서 나름 뿌듯함을 느꼈다. 다음으로는 버튼이다. 버튼은 헤더 색깔과 맞춰 갈색 계열이 어떨까 해 #7c6a46 이 색상을 선택하게 되었다. 내 눈엔 잘 어울리는 것 같긴 하다만 덧붙여 말하자면 덩색같다. 아무래도 ..