본문 바로가기

분류 전체보기

(100)
전반적인 Git 사용법 1. github의 원격저장소와 연결 세팅 및 파일 다운 (2가지) 2. github에 내 자료 올리기 3. Git branch 바꾸기 4. git branch 생성 + 바꾸기 5. 현재 존재하는 branch와 어느 branch인지 확인하기 6. 브랜치 병합하기 (merge) 1. github의 원격저장소와 연결 세팅 및 파일 다운 (2가지) (1) 첫번째 방법 git init git remote add origin [URL] git pull origin master (2) 두번째 방법 git clone [URL] git clone https://YourToken@github.com/YourID/YourProject.git YourToken, YourID, YourProject에는 본인의 맞는 정보를 넣..
첫 화면 MainActivity 초기 디자인 : 1. 전체 뷰는 ConstraintLayout 사용 2. 안드로이드 글꼴 : 한글 : NotoSans 영어 : ROBOTO 글꼴 관련 참고 글꼴 적용 방법 더보기 xml 파일에서 오른쪽 attribute에서 fontFamily 로 적용 가능. NotoSans 같은 경우 이미 있는 제공되는 font에 있어서 바로 적용가능. 새로 적용시 font라는 directory도 같이 생성 ROBOTO는 다운받아야 적용가능. (1) font directory 가 없을시 res 우클릭 - New - Directory - font 입력 (2) font 폴더가 생성되고 그 아래에 ttf 파일을 복붙 합니다. (3) TextView에 아래 같은 식으로 추가 가능 추가 -> 끝 android:fontFamily..
추상클래스, 인터페이스 추상클래스 클래스 내 추상 메소드가 하나 이상 포함되 있으면 추상클래스이다. 추상 클래스는 미완성 설계도에 비유할 수 있습니다. 이러한 추상 클래스는 객체 지향 프로그래밍에서 중요한 특징인 다형성을 가지는 메소드의 집합을 정의할 수 있도록 해줍니다. public abstract class A {} 추상 클래스는 인스턴스, 즉 객체를 만들 수 없는 클래스 입니다. 추상 메소드는 하위 클래스에서 메소드의 구현을 강제해야 합니다. 추상 메소드를 포함하는 클래스는 반드시 추상 클래스여야 합니다. 상속하는 집합간에는 연간관계가 있습니다. 다중 상속이 불가능합니다. 인터페이스 인터페이스는 모든 메소드가 추상 메소드이다. 모든 멤버 변수는 public static final 이어야 하며, 이를 생략할 수 있습니다. ..
Wrapper class 상황에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우가 있습니다. 예를 들어, 메소드의 인수로 객체 타입만이 요구되면, 기본 타입의 데이터를 그대로 사용할 수는 없습니다. 이때에는 기본 타입의 데이터를 먼저 객체로 변환한 후 작업을 수행해야 합니다. 이렇게 8개의 기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼 클래스(Wrapper class)라고 합니다. 래퍼 클래스는 각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어 줍니다. 이러한 래퍼 클래스는 모두 java.lang 패키지에 포함되어 제공됩니다. 자바의 기본 타입에 대응하여 제공하고 있는 래퍼 클래스는 다음과 같습니다. 기본 타입래퍼 클래스 byte Byte short Short int Int..
제어자와 접근 제어자 제어자란 메서드나 변수 클래스의 선언부에서 함께 사용되어 추가적인 의미를 부여한다. 접근제어자 : public, protected, default, private 그 외 제어자 : static, final, abstract Static : 클래스 변수(static 맴버변수)는 인스턴스에 관계없이 같은 값을 가짐. (인스턴스 변수는 하나의 클래스로부터 생성되어도 다른값 유지) static 멤버변수 모든 인스턴스에 공통적으로 사용되는 클래스 변수가 된다. 클래스변수는 인스턴스를 생성하지 않고도 사용가능하다. 클래스가 메모리에 로드될 때 생성된다. static 메서드 인스턴스를 생성하지 않고도 호출이 가능한 static 메서드가 된다. static메서드 내에서는 인스턴스멤버들을 직접 사용할 수 없다. fina..
자바 메모리 구조 (Stack, Heap, Static) Static 영역 : 하나의 JAVA 파일은 크게 필드(field), 생성자(constructor), 메소드(method)로 구성된다. 그중 필드 부분에서 선언된 변수(전역변수)와 정적 멤버변수(static이 붙은 자료형) -> Static 영역에 데이터를 저장한다. Static 영역의 데이터는 프로그램의 시작부터 종료가 될 때까지 메모리에 남아있게 된다. 다르게 말하면 전역변수가 프로그램이 종료될 때까지 어디서든 사용이 가능한 이유이기도 하다. 따라서 전역변수를 무분별하게 많이 사용하다 보면 메모리가 부족할 우려가 있어 필요한 변수만 사용할 필요가 있다. Stack 영역 : 지역변수, 파라미터, 리턴 값, 연산에 사용되는 임시 값 등이 생성되는 영역입니다. 우리가 현재까지 작성하던 메소드 내에서 정의하..
정적 Static Java에서 Static 키워드를 사용한다는 것은 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미합니다. 그래서 static은 전역적으로 쉽게 재사용하는 멤버나 잘 변하지 않는 변수나, 메소드를 사용할때 주로 사용됩니다. 만들어 놓고 클래스 호출, 객체 생성을 따로 할 필요없이 바로바로 사용할 수 있기 때문에 사용성이 좋습니다. 일반적으로 우리가 만든 Class는 Static 영역에 생성되고, new 연산을 통해 생성한 객체는 Heap영역에 생성됩니다. 객체의 생성시에 할당된 Heap영역의 메모리는 Garbage Collector를 통해 수시로 관리를 받습니다. 하지만 Static 키워드를 통해 Static 영역에 할당된 메모리는 모든 객체가 공유하는 메모리라는 장점을 지니지만, Garb..
오버라이딩(Overriding)과 오버로딩(Overloading) 오버라이딩(Overriding) 부모 클래스의 메서드를 하위 클래스가 재정의 하는 것이다. 메서드의 이름은 물론 파라메터의 갯수나 타입도 동일해야 하며, 주로 부모 클래스의 동작을 상속받은 자식 클래스에서 변경하기 위해 사용된다. 오버로딩(Overloading) 메서드의 이름은 같고 매개변수(parameter)의 갯수나 타입이 다른 함수를 정의하는 것을 의미한다.