development (20) 썸네일형 리스트형 23.01.04 열거형 enum enum 열거형 JDK1.5부터 추가된 개념으로 서로 연관된 상수들의 집합을 의미한다. 사용이유 기존 public static final을 사용시 상수명이 중복되는 경우가 있고, 타입 안정성에 문제가 생긴다. 이를 효과적으로 해결하기 위해 enum을 사용한다. 간결하고 가독성이 좋은 코드를 작성할 수 있고, switch문에서도 작동 가능하다 사용법 enum 열거형네임 {상수명1, 상수명2, ...} 열거형네임.상수명 //정의된 상수를 사용하는 방법 enum Level { LOW, // 0 MEDIUM, // 1 HIGH // 2 } public class Main { public static void main(String[] args) { Level level = Level.MEDIUM; switch(l.. 23.01.03 burgerQueen만들기-2 Encapsulation 캡슐화 변수와 메소드를 하나의 단위로 bundling 하는 것 클래스의 인스턴스를 생성해서 클래스 내부의 멤버변수와 메소드에 접근 Information hiding 프로그램의 구현된 세부사항을 은닉하여 직접 호출하거나 수정할 수 없게 보호하는 것 예제 public class Person { private int age; private String name; //private로 외부 접근 제한 public int getAge() { return age; } //외부 read용 getter public void setAge(int age) { this.age = age; } //외부 write용 setter public String getName() { return name; } p.. 23.01.02 bergerQueen만들기-1 오늘은 햄버거 매장 주문 프로그램을 만들어보면서 전에 배웠지만 정리하지 않았던 것들과 한번 더 돌아보게 했던 것들을 정리했다. 요구사항 분석 1 - 공통사항 확인후 상위,하위클래스로 분류. 2 - 역할에 따라 클래스 분리 3 - 플로우차트 설계_//주석처리로 수도코드 작성 4 - 역할에 따라 메서드 정의 _//기능 분산 5 - 리펙토링_//기법들은 서적이나 검색으로 공부 ------- 디렉터리 구조 정리 패키지 특정 목적을 공유하는 클래스 및 인터페이스를 묶은 것 클래스가 패키지에 포함되어있지 않은 경우, default패키지에 자동으로 포함되게 되는데, 이 경우 다른 클래스에서 import할 수 없다. 따라서 패키지에 정리해줘야 한다. Main 클래스의 main메서드에 로직 코드를 작성하지 않는 이유 m.. 22.12.30 22.12.29 객체지향 프로그래밍 심화-2 22년 마지막 주 금요일. 벌써 12월 말이라니 시간이 너무 빠르다. 오늘만큼은 그냥 다 내려놓고 쉬고싶었지만 그래도 꾸준히 공부하는 습관을 만들자는 마음으로 공부했다. 일단 시작해보니 생각보다 할만했고, 머릿속에 남는게 얼마 없더라도 알차게 보냈다는 생각에 기분이 좋다. 연말을 좋게 마무리하고 다가오는 23년을 정말 인생 최고의 해로 보낼 수 있도록 준비해야겠다. 추상화 객체의 공통적인 속성과 기능등 요소들을 묶어서 정의하고, 상의클래스를 만드는 것 abstract 제어자 미완성 클래스. 메서드 앞에 붙은 경우 추상 메서드(abstract method), 클래스 앞에 붙은 경우 추상 클래스(abstract class)라고 부른다 특징 메서드 바디{}가 없다 객체 생성 불가 추상 메서드가 포함되어 있을 .. 22.12.29 객체지향 프로그래밍 심화-1 상속(Inheritance) 특징 자식 클래스는 부모 클래스로부터 메소드와 필드를 물려받아 사용 부모 클래스는 자식 클래스의 메소드와 필드를 사용하지 못한다 부모 클래스는 여러 자식 클래스에게 분할 상속 가능 자식 클래스는 단일상속만 받을 수 있다 인스턴스 생성시 자식 클래스에서 생성하는 것이 효율적 사용 이유 코드 중복 제거 - > 효율 상승, 다형적 표현(하나의 객체를 여러 방법으로 표현) 사용법 class 자식클래스 extends 부모클래스 포함 관계(composite) 특징 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언 사용 이유 상속과 같음 사용법 public class Circle1 extends plane{ Line curve; //포함관계 } //Circle1클래스는 plane클래스를.. 22.12.28 블로그 세션, 객체지향 프로그래밍 기초-2 블로그 세션 zoom화상회의에서 블로깅을 장려하는 라이브 세션이 있었는데 요약하자면 학습한 내용을 텍스트로 정리하면 정리도 잘되고 공부가 수월하니 꼭 블로그 글을 써라 -다른 사람이 보고 공부해도 될 정도로 정리해라 -예제를 직접 만들어서 넣어라 -배운것을 그냥 복붙하지 말고 코드 한줄이라도 직접 코딩해보고 글쓰면 남는게 많다 요런 블로그 작성시 추천사항이 있었다. 내 블로그에 적용하려고 2일간 블로그 글을 써놓은것을 보니까.. 줄글로 쫙 써놔서 다른 사람들이 보기에 가독성이 좋지도 않고, 정보전달을 위한 목적으로 쓴 글이 아니다 보니 이도 저도 아닌 내용이 된 것 같은 기분을 느꼈다. 비록 시간은 많이 걸리겠지만 다음 블로깅부터는 추천사항들을 적용해서 한번 작성해봐야겠다. 객체지향 프로그래밍 기초-2 .. 22.12.27 객체지향 프로그래밍 기초-1 오늘은 JAVA OOP 관련 기초공부를 했다. 며칠간 페어프로그래밍으로 연습문제를 풀다가 혼자가 되서 추상적인 개념을 공부하려니까 뭔가 집중이 잘 안됬었다. 딱 처음 객체의 설명을 보고 느낀건데 그냥 변수에서 목표하는 기능이 다르다고 이름을 살짝 바꾼 느낌이다. c언어에서의 변수,함수 역할을 하는 것들은 JAVA에서는 필드, 메서드라고 부르면서, 초기화하는 역할을 하는 생성자가 추가적으로 있었다. 속성이 다르긴 하지만 중요한건 객체지향 프로그래밍이라는 패러다임인것 같다. 조금 검색해 보고 느낀 결론은, 객체지향 프로그래밍은 기존 절차지향 프로그래밍의 한계점을 극복하기 위해 도입된 개념이라는 것이다. 절차지향 언어는 프로그래밍시 순차적으로 처리되며 유기적으로 동작하는데 반해 객체지향에서는 부분 부분이 따로.. 22.12.26 시작 사실 코드스테이츠 백엔드 부트캠프를 시작하면서부터 블로그에 배운 것을 정리하며 공부하면 좋겠다는 생각을 했지만, 11일이 지난 오늘에서야 드디어 행동으로 옮겼다. 미루지 않고 제때 행동하는 습관을 들여야겠다. 오늘은 Java 배열에 대해서 공부하고, 페어와 함께 연습문제를 풀며 진행했는데, 문제풀이에 예정된 시간을 초과하게 되었다.. 어렵다기 보다는 문법에 적응되지 않아서 실수하는 부분이 많은 것 같다. 하루종일 코드를 봤더니 머리가 복잡하다 ㅠㅜ 앞으로 자바를 많이 사용하게 될 것 같으니 익숙해지도록 노력해야겠다. 알게 된 것중에 기억에 남는 것은 먼저 isEmpty() 메소드. 문자열을 입력받을 때 equals()를 사용해서 if (str == null || str.equals("")) { retur.. 이전 1 2 3 다음