Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

분류 전체보기275

Git & Github 사용법 바로가기 github Git 분산 버전 관리 시스템. 코드를 효율적으로 관리하고 백업하자. 깃 초기화 로컬 저장소 생성 (작업 폴더에서 git init 이후 변경사항을 추적합니다.) git init 스테이징 (변경 사항 Stage Area에 추가_ 커밋 대기 영역) git add . //변경사항 전체 스테이징 git add 파일명1, 파일명2 레포지토리에 추가 stage area에 있던 녀석들이 로컬 레포지토리에 추가됨. git commit -m "커밋 메세지" 상태 확인 (작업 디렉토리와 스테이징 영역의 파일 상태, 현재 브랜치의 상태) 어떤 파일이 수정되었고 어떤 파일이 스테이징 되었고 어떤 파일이 커밋되지 않았나 등의 정보 git status 로그 확인 git log --all --oneline /.. 2024. 3. 16.
8. 상속, 오버라이딩, super 객체지향의 4대 특징(캡슐화, 상속, 추상화, 다형성) 중 상속에 대해 Araboza. 추상화 먼저 추상화는 '복잡한 것을 단순하게' 만드는 것을 말한다고 할 수 있다. 그 방법 중 하나는, 복잡한 객체들 사이에서 공통된 특징을 뽑아내는 것이다. 세상에는 많은 자동차들이 존재한다. 가솔린차, 전기차, 수소차 등... 근데 분명 자동차라면 응당 존재하는 속성이나 기능이 존재한다. 바퀴, 문, 핸들과 같은 속성이 있을 것이고 문 열기, 엑셀 밟기, 주유하기 등의 기능이 있을 것이다. 자동차들을 각각 클래스로 만드는 방법도 있겠지만, 공통된 부분을 뽑아서(추상화해서) '자동차'라는 클래스를 만든다면? 그리고 이 클래스를 상속한 세부적인 자동차들로 만들면 중복된 코드는 줄이고 더 효율적인 프로그래밍이 가능하다... 2024. 3. 11.
7. final final에 대한 설명은 아래짤이 최고라고 생각한다. final은 말 그대로 '최종' 이라는 뜻이다. 클래스,변수,메서드 등 다양한 곳에 붙일 수 있는 modifier이다. 아래 예제를 통해서 final에 대해 알아보자. public final class FinalPrac { public static final int MAX_USERS = 9999; public final int memberFinal = 100; public final int value; public ConstructInit(int value) { this.value = value; } public final void finalMethod() { System.out.println("난 못바꿈"); } } 상수(constant) 먼저 자바.. 2024. 3. 7.
6. static 정적 자바 메모리 구조 프로세스의 메모리 구조를 설명할 때 코드, 데이터, 힙, 스택 영역이 있다는 설명을 많이 들었다. 자바에서도 유사한데, 데이터 영역을 메서드 영역이라고 칭한다. (그냥 같다 생각하면 됨) CODE AREA 프로그램의 코드가 저장되는 영역(read-only) 프로그램이 실행될 때 메모리의 하단에서부터 적재된다. METHOD (CLASS) AREA static 이해를 위해 중요한 영역 프로그램의 실행에 필요한 공통 데이터를 관리하는 영역으로, 세부적으로는 아래와 같은 영역이 있다. 1. 클래스 정보(Class Information) 클래스의 실행을 위해 필요한 바이트코드(for jvm에 의한 클래스 로딩)가 저장되는 영역 클래스의 이름, 상위 클래스 및 인터페이스, 멤버 변수 및 메서드 정.. 2024. 3. 7.
5. 접근 제어자와 캡슐화 For Safe Programming ! 객체 지향 프로그래밍에서 관련된 데이터와 기능, 즉 필드(데이터)와 메서드는 클래스로 묶어서 관리하기로 했다. 하지만 이것만으로는 부족하다. 기껏 클래스에 잘 담아뒀는데 누가 마음대로 꺼내서 건드리면 말짱 도루묵이기 때문이다. 이를 위해서 존재하는 것이 바로 접근 제어자(access modifier)이다. 접근 제어자는 말 그대로 접근의 수준을 제어할 수 있도록 하는 것이다. '필요한 부분만 공개하겠다 !' 캡슐화(Encapsulation) 객체지향의 4가지 특징 중 하나인 캡슐화는 말 그대로 캡슐(클래스) 안에 데이터와 로직을 담는 것을 말한다. 즉 데이터(필드)와, 데이터 조작 메서드를 묶어서 관리하고 접근 제어자를 통해 외부의 무분별한 접근을 제한하는 것이다.. 2024. 3. 3.
4. 생성자 Construct Swift를 공부하면서도 만났던 생성자. Java에서도 거의 유사했다. 다만 Swift에서는 Initializer였다면 Java에서는 Construct로 부른다는 것? 생성자는 말 그대로 객체를 생성하는데 도움을 주는 메서드이다. 정확히는 객체를 생성한 직후에 값 초기화를 할 수 있도록 하는 특별한 메서드이다. public class Student { String name; int age; int grade; } 위와 같은 클래스가 있다. Student student1 = new Student(); //멤버 변수 초기값 설정 student1.name = "user1"; student1.age = 20; student1.grade = 90; java는 객체를 생성해주고 초기화를 하지 않으면, 멤버의 타입에.. 2024. 3. 2.